【发布时间】:2017-01-13 23:20:22
【问题描述】:
我有一个方法,我想决定在 map 函数中返回什么。我知道这可以通过分配一个变量来完成,但这是我虽然可以做到的;
def some_method(array)
array.map do |x|
if x > 10
return x+1 #or whatever
else
return x-1
end
end
end
这不像我预期的那样工作,因为第一次点击return,它从方法返回,而不是在 map 函数中,类似于在 javascript 的 map 函数中使用 return 的方式。
有没有办法实现我想要的语法?还是我需要将它分配给一个变量,然后像这样将它挂在最后:
def some_method(array)
array.map do |x|
returnme = x-1
if x > 10
returnme = x+1 #or whatever
end
returnme
end
end
【问题讨论】:
-
相关问题以及更多答案和详细信息:Using 'return' in a Ruby block.
标签: arrays ruby return enumerator