Как упростить блок ruby ​​с одним аргументом? - PullRequest
1 голос
/ 22 апреля 2010

Где-то я видел способ упростить блоки ruby ​​с одним аргументом, в основном он пропускал вертикальные черты и объявление аргумента, потому что это было как-то встроено.

Я больше не могу его найти или помню имена для поиска.

1 Ответ

7 голосов
/ 22 апреля 2010

Существует упрощение, которое работает в нескольких ситуациях.

Если у вас есть что-то вроде:

(1..10).collect { |i| i.to_s }

Вы можете упростить это до:

(1..10).collect(&:to_s)

& преобразует символ в проц, вызывая Symbol#to_proc. Он не работает с дополнительными аргументами и работает только в том случае, если вы хотите вызвать метод непосредственно для аргумента блока. Он был введен в Rails (ActiveSupport), но попал в ядро ​​Ruby 1.8.7 и 1.9.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...