如何将方法调用链接到 Ruby 中的“do ... end”块?

How to chain a method call to a `do ... end` block in Ruby?

我正在执行以下操作:

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

我能否以某种方式在一条语句中调用 mapcompact,以便立即 return 结果?

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

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

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

在你的情况下,

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 ..