Ruby 3.4에 블록 매개변수를 가리키는 it이 들어왔습니다. 덕분에 users.map { it.name }은 거의 문장처럼 읽힙니다. 저는 _1보다 이쪽이 좋습니다. 그쪽은 늘 파서가 흘리고 간 무언가처럼 보였습니다.
Proc 문서에 알아 둘 만한 규칙이 몇 가지 있습니다. it은 명시적인 매개변수가 없는 블록에서만 존재합니다. 소프트 키워드라서 it이라는 지역 변수가 있으면 그쪽이 이깁니다. 이미 그런 변수를 쓰던 분께는 작은 깜짝 선물입니다. 한 블록 안에서 _1과 섞어 쓸 수 없습니다. 그리고 번호 매개변수와 달리 it을 쓰는 블록은 중첩할 수 있는데, 저라면 이 규칙만은 반대로 정했을 겁니다. 중첩된 블록에서는 it마다 자기 블록의 인자를 뜻하니, 읽는 사람은 중괄호를 세어 봐야 어느 쪽인지 압니다.
제 구식 습관은 그대로 갑니다. 한 줄에 수신자가 뻔하면 it도 괜찮습니다. 그보다 길거나 중첩되면 |user|를 씁니다. 몇 글자 더 들지만 그게 아까웠던 적은 없습니다.