前提・実現したいこと
私はつい最近プログラムをRubyにて始めたものなのですが、どうしてもわからないことがあったので質問させてもらいます。
”2つの文字列が入力され
入力は
abcde
12345
という風に改行区切りで入力され、末尾に改行が 1 つ入ります。
という条件をlengthメソッドにて文字数を求めて==で比較し、等しければ"yes"を出力し、そうでなければ"No"を出力するといったコードを書きました。
最初に書いたコード(下記に添付したコードの1つめ)では上記のもの入力したら"No"の値が帰ってきました。
色々試すと、getsに.chompメソッドをつければうまくいくことがわかりました(下記のコードの2)。
ここで気になったのですが、なぜ入力は改行含め同じ数なのにchompをつけなければうまくいかないのでしょうか。
知識がないためまとまりのない文、説明になってしまい申し訳ありません。
また、何か補足などが必要でしたら教えてくださると幸いです。
お願いします。
該当のソースコード
ruby
1#入力値は 2abcde 312345 4#という風に改行区切りで入力されます。末尾に改行が 1 つ入ります。 5 6# 1 ~~~~~~~~~~~~~~~~~ 7m = gets 8n = gets 9 10if m.length == n.length 11 puts "Yes" 12else 13 puts "No" 14end 15# これでは"No"と出力されました。 16 17# 2 ~~~~~~~~~~~~~~~~~~ 18m = gets.chomp 19n = gets.chomp 20 21if m.length == n.length 22 puts "Yes" 23else 24 puts "No" 25end 26# こちらは"Yes"となりました。 27
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/02 15:39
2019/01/02 15:46 編集
2019/01/02 16:07