LoginSignup
0
0

More than 3 years have passed since last update.

getsとgets.chompの違いについて(改行以外)

Last updated at Posted at 2020-10-11

インターネットに掲載されているドリル問題を解いていたときにrubyのgetsgets.chompの違いについて新たな発見があったためアウトプットして行きます!

結論

改行は1文字に含まれる!
は?っ思った方もいらっしゃるでしょう。私にとっては新たな発見だったのです...。
以下のコードを例にみてみます。

ruby.rb
str = gets
puts str.length

getsメソッドを使用しているためターミナルが入力待ちの状態になります。
そこで'abc'と入力すると4と出力されます。
てっきり3が返ってくると思っていた私は「なぜ!!????」とプチパニック状態に笑
もしかしてと思いgets.chompで同じことを行うと予想通り3と返ってきました。

最後に

今まではchompをつけることで改行しないんだよな〜くらいの認識でしかありませんでした。
返り値が変わってくるというのは新たな発見でした。
lengthメソッドでは改行だけではなく空白も1文字としてカウントされますが、なかなかその感覚に慣れておらず、変な感じがしてしまいます。これは慣れなのでしょうかね?

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0