1. ホーム
  2. ruby

[解決済み】Rubyで "gets "と "gets.chomp "を使用する方法

2022-02-11 12:11:32

質問

ということを知りました。 gets は改行を行い、ユーザーに入力を求めます。 gets.chomp は、新しい行を作らないことを除いて、同じことをします。 gets はオブジェクトを返さなければならないので、そのオブジェクトに対してメソッドを呼び出すことができますよね?もしそうなら、そのオブジェクトの名前を gets として tmp を呼び出すと chomp のメソッドを使用します。 tmp . しかし、その前に gets は以下を返します。 tmp の場合、画面に改行が表示されるはずです。では chomp はどうでしょうか?改行を削除しているのでしょうか? の後に gets を作成しましたか?

私の質問を再展開する別の方法は、次のアクションが実行されるかどうかです。 gets.chomp ?

  1. gets 改行を表示する
  2. gets を返す tmp
  3. tmp.chomp は新しい行を削除します。
  4. ユーザー入力

順番はこれでいいのでしょうか?

解決方法は?

gets は、ユーザーが行を入力し、それをプログラムに値として返します。この値には、末尾の改行が含まれます。もし、あなたが chomp を指定すると、この改行が切り落とされます。ですから、あなたがそこに持っているものは正しくありません、むしろそうあるべきです。

  1. gets ゲット 一行のテキスト。 を含む 最後に改行する。
    • これは ユーザー入力
  2. gets は、その行のテキストを文字列値として返します。
  3. 呼び出し chomp を指定すると、改行が削除されます。

画面にテキスト行が表示されるのは、そもそもそこに入力したからに他なりません。 gets は、入力されたものの出力を魔法のように抑制するものではありません。