$< выглядит как прекрасная альтернатива, да, xargs + ARGV будет полезен когда нужны все аргументы сразу, типа для случая ARGV.join или ARGV[0] + ARGV[-1], скорее не для построчной обработки, что вы в общем и сказали, конечно зависит от количества входных данных и всегда можно заюзать ARGF если захотеть, я бы сказал, что по ситуации надо выбирать
Просто подумал, что, возможно, не всегда удобно использовать _$ и -n. С тем же xargs например ls | ruby -lne 'puts $_[0..9]' можно переписать как ls | xargs ruby -e 'ARGV.each { |file| puts file[0..9] }'. Хотя конкретно для этого кейса ваш код выглядит поприятнее
ls | ruby -lne 'puts $_[0..9]'можно переписать какls | xargs ruby -e 'ARGV.each { |file| puts file[0..9] }'. Хотя конкретно для этого кейса ваш код выглядит поприятнее