getsとchompメソッド - Rubyプログラミング(4)

プログラミング、サーバー、ネットワーク、IT用語、ハマったときのトラブルシューティングなど様々なIT関連の話題をひたすら書いていく技術ブログです。

2017年1月12日木曜日

getsとchompメソッド - Rubyプログラミング(4)


前回までで、値(データ)の表示方法は確認できたと思います。次はユーザーからのインプットを受け取る方法について見ていきます。

実世界では、webのフォームなどからユーザーが入力した情報を受けてプログラムがいろいろ動作すると思いますが、それと同じようなことをgetsメソッドchompメソッドを使ってコンソールで試すことができます。

Rubyのコードでgetsを使ってみる



このコードの1行目で質問が表示されます。2行目でnameという変数を作成して、ユーザーが入力してくる値を保持します。getsメソッドはユーザーに値を入力することを促します。結果は次の通りです。


コードを実行した時に結果について「あれ?」と思ったかもしれません。ユーザーが入力したデータと一緒に「\n」が末尾に付いていると思います。このようなちょっとしたことが開発者を悩ませることが多いです。例えば、ユーザーが正しいパスワードを入力したかどうか認証したい場合を考えてみましょう。コードは下記のようになります。



このコードを実行してパスワードをabcdeとしてみて下さい。期待する動作はtrueが返されることですが実際はfalseが返ってきます。なぜなら、このコードの入力されたデータは「abcde\n」でパスワード「abcde」とは違うからです。


Rubyのchompメソッド

この上記の問題を解決するため、chompメソッドを使います。chompは「食べる」という意味の英単語ですが、そこから\nの文字を取り除くということを暗に意味しています。




chompメソッドを使うことでtrueの結果を得られました。

◯Hello Worldの文字列を表示する - Rubyプログラミング(5)はこちら
◯「Rubyプログラミング」シリーズの一覧はこちら



最近の投稿