传入块我想块传递给一个函数,然后调用该块与一些额外的参数如下:参数传递给Ruby中
def foo(&block)
some_array = (1..3).to_a
x = 7 # Simplified
result = some_array.map &block # Need some way to pass in 'x' here
end
def a_usage_that_works
foo do |value|
value
end
end
def a_usage_that_doesnt_work
foo do |value, x|
x # How do I pass in x?
end
end
# rspec to demonstrate problem/required result
describe "spike" do
it "works" do
a_usage_that_works.should == [1,2,3]
end
it "doesn't work" do
a_usage_that_doesnt_work.should == [7, 7, 7]
end
end
如何传递的附加参数块?
这不通过所提供的测试。它抛弃了'some_array'的值。 – Stefan
@Stefan(Code editted)这是你想要的吗? – steenslag
是的,就是这样。 – Stefan