Forum: Ruby Return of gets gets

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
1c0cd550766a3ee3e4a9c495926e4603?d=identicon&s=25 John Joyce (Guest)
on 2007-04-23 15:39
(Received via mailing list)
Not long ago I posted about
gets gets

I said it acted a bit like a Heredoc.
I've since realized that it is actually more similar to
readlines
In fact, it behaves identically thus far.
example:
irb(main):004:0> lines = readlines
ff
fff
akenll329
\n
kls
=> ["ff\n", "fff\n", "akenll329\n", "\\n\n", "kls\n"]
irb(main):005:0> puts lines
ff
fff
akenll329
\n
kls
=> nil
irb(main):006:0> lines = gets gets
fff
ff
ahoy
\n
lll  ll
=> "ff\nahoy\n\\n\nlll  ll\n"
irb(main):007:0> puts lines
ff
ahoy
\n
lll  ll
=> nil


Now if you create a file such as:
putsgetsgets.rb

containing only:
puts gets gets

Then run the file, passing it some other file's text:
ruby putsgetsgets.rb < otherfile.whatever

It will output the same same as if you create a file:
putsreadlines.rb

Containing:
puts readlines

Then do the same:
ruby putsreadlines.rb < otherfile.whatever

The difference is of course it is not a developed method like
readlines. Thus, it doesn't respond quite the same to methods such as
length.
readlines.length will return the number of lines.
gets gets.length will return the number of characters.
This topic is locked and can not be replied to.