This question is kinda simple (don’t be so harsh with me), but I can’t get a code-beautiful solution. I have the following code:
ARGF.each_line do |line|
arguments = line.split(',')
arguments.each do |task|
puts "#{task} result"
end
end
It simply read from the standard input numbers. I use it this way:
echo "1,2,3" | ruby prog.rb
The output desired is
1 result
2 result
3 result
But the actual output is
1 result
2 result
3
result
It seems like there’s a newline character introduced. I’m skipping something?
Each
lineends in a newline character, so splitting on commas in your example means that the last token is3\n. Printing this prints3and then a newline.Try using
To remove the trailing newlines before splitting.