我试图采取的方法的方块参数,并打开内容(符号的阵列)和它做成一个数组。例如:红宝石块到阵列
def sequence(&block)
# ?
end
sequence do
:foo,
:bar,
:foobar
end # => [:foo, :bar, :foobar]
我知道这将是容易只是有一个数组作为sequence
方法的参数,但我想留在另一种方法是一致的。
我试图采取的方法的方块参数,并打开内容(符号的阵列)和它做成一个数组。例如:红宝石块到阵列
def sequence(&block)
# ?
end
sequence do
:foo,
:bar,
:foobar
end # => [:foo, :bar, :foobar]
我知道这将是容易只是有一个数组作为sequence
方法的参数,但我想留在另一种方法是一致的。
这句法不是在Ruby中不允许的,所以很遗憾这是不可能的,因为代码甚至不会让过去的解析器。
好了,不回答确切的问题,我想你和dirk知道这一点,但...
如果有人想一个Array
作为参数,他们的搜索,导致他们在这里,红宝石确实有基本具备相似功能东西给你:
def f *x
x
end
p f :foo,
:bar,
:foobar
# => [:foo, :bar, :foobar]
虽然你建议的语法不会通过一个解析器,也有一些调整:
def sequence(&block)
yield
end
sequence do [
:foo,
:bar,
:foobar
] end # => [:foo, :bar, :foobar]
sequence do _=
:foo,
:bar,
:foobar
end # => [:foo, :bar, :foobar]