0
# Call the each method of each collection in turn.
# This is not a parallel iteration and does not require enumerators.
def sequence(*enumerables, &block)
    enumerables.each do |enumerable|
        enumerable.each(&block)
    end
end


# Examples of how these iterator methods work
a,b,c = [1,2,3],4..6,'a'..'e'
print "#{sequence(a,b,c) {|x| print x}}\n"

結果が次の理由:

123456abcde[[1, 2, 3], 4..6, "a".."e"]

[[1, 2, 3], 4..6, "a".."e"] が印刷される理由を誰か教えてください。または、'sequence' メソッドの戻り値が [[1, 2, 3], 4..6, "a".."e"] である理由を教えてください?? どうもありがとう

4

1 に答える 1

1
sequence(a,b,c) { |x| print x }

プリント123456abcde

print "#{some_code}\n"

の戻り値を出力しsome_codeます。あなたの例では、eachループはを返します[[1, 2, 3], 4..6, "a".."e"]eachself

于 2013-09-11T22:23:13.893 に答える