В Ruby 3.4 появился it для параметра блока, и users.map { it.name } читается почти как предложение. Мне он нравится больше, чем _1, который всегда выглядел как что-то, забытое парсером.

Несколько правил из документации Proc, которые стоит знать. it существует только в блоке без явных параметров. Это мягкое ключевое слово, поэтому локальная переменная с именем it побеждает, и это маленький сюрприз для того, у кого такая уже была. Смешивать его с _1 в одном блоке нельзя. И в отличие от нумерованных параметров блоки с it можно вкладывать друг в друга, и это единственное правило, которое мне хотелось бы видеть наоборот. Во вложенных блоках каждый it означает аргумент своего блока, и читателю приходится считать скобки, чтобы понять, какого.

Моя старомодная привычка остаётся. Одна строка и очевидный получатель, тогда it годится. Всё, что длиннее или вложено, получает |user|. Это несколько лишних символов, которых мне никогда не было жалко.