我刚接触 Ruby,我该如何像 C# 中这样做?在 C# 中,我会这样写:
my_block().ToList()
并且它会起作用。
我正在想象这个函数。
def my_block
yield 1
yield 2
yield 3
end
my_block.to_enum().map {|a| a}
这让我出现了以下错误:
test.rb:2:in `my_block': no block given (yield) (LocalJumpError)
from test.rb:7:in `<main>'
这种行为的正确口诀是什么?
foo.is_a?(Enumerable)
返回 true。我认为在多重继承中,可以说一个对象是多个东西。我并不特别关心函数是否返回一个枚举器,我只关心它是否返回一个可枚举的对象,因为这决定了我是否可以使用所有有用的方法,如collect
和select
。 - David Grayson