7

我正在执行以下操作:

array_variable = collection.map do |param|
  some value with param
end
return array_variable.compact

我可以以某种方式在一个语句中调用mapand ,以便立即返回结果吗?compact

我正在考虑这样的事情(但是它可能是无效的):

array_variable = block_code param.compact 
# block_code here is a method for example which fills the array
4

1 回答 1

16

是的,你可以在这里调用一个方法。

在你的情况下,

array_variable = collection.map do |param|
  # some value with param
end.compact

或者

array_variable = collection.map{ |param| some value with param }.compact

正如@Stefan 所指出的,不需要赋值,您可以直接使用return,如果这是最后一行方法,您也可以省略return..

于 2017-06-08T11:21:32.040 回答