Как связать вызов метода с блоком `do ... end` в Ruby?
Я делаю следующее:
array_variable = collection.map do |param|
some value with param
end
return array_variable.compact
Могу я позвонить map
а также compact
как-то в одном утверждении, чтобы я мог вернуть результат мгновенно?
Я думаю о чем-то вроде этого (это может быть недействительным, однако):
array_variable = block_code param.compact
# block_code here is a method for example which fills the array
1 ответ
Решение
Да, вы можете вызвать метод здесь.
В твоем случае,
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
тоже..