RubyのREPLとは?IRB・Pryの使い方を徹底解説
REPLとは「Read-Eval-Print-Loop(読み込み・評価・出力・ループ)」の略称で、Rubyのコードを入力すると、その実行結果をその場で確認できる対話型プログラムのことです。
Rubyで人気のあるREPLにはirbやpryなどがあります。
これらのツールを使えば、Rubyコードの動作を素早くテストできるのが大きな魅力です。
たとえば、文字列の配列を整数の配列に変換したい場面を考えてみましょう。
「どうやって書くんだっけ?」と正確な方法を思い出せないことは、誰にでもありますよね。
そんなときは調べて(調べるのはまったく問題ありません!)、REPLで実際に試しながら、思い通りの動作になるまで検証します。うまく動いたら、そのコードをプロジェクトに組み込めばOKです。
最大のメリットは何でしょうか?
少量のコードを単体でテストできるため、うまく動かない場合でも関係する要素が少なく、原因の特定や修正がしやすくなります。
つまり、一つのことに集中できるのです!
それでは、Rubyで使える主なREPLを見ていきましょう。
Interactive Ruby Shell(IRB)
IRBはRubyに標準で組み込まれているREPLで、すべてのRuby開発者が一度は触れたことのある定番ツールです。
多機能ではありませんが、必要なことはきちんとこなしてくれます。コードを入力すれば、結果が返ってくるシンプルな仕組みです。
irbの使い方
ターミナルでirbと入力するだけで起動できます。
起動すると次のような画面が表示されます:
irb(main):001:0>
あとはRubyコードを書いてEnterキーを押すだけで、その場で実行されます。
irbを終了したい場合はexitと入力しましょう。
また、ホームディレクトリに.irbrcファイルを作成すると、コマンド履歴の保存など、irbを自分好みにカスタマイズできます。
コマンド履歴を有効にする設定:
IRB.conf[:SAVE_HISTORY] = 500
自動インデントを有効にしたい場合は、以下も追加してください:
IRB.conf[:AUTO_INDENT] = true
さらに、プロンプトの表示形式をカスタマイズすることも可能です:
IRB.conf[:PROMPT][:CUSTOM] = {
PROMPT_I: "irb(#{Dir.pwd}) ",
PROMPT_S: "irb(#{Dir.pwd})* ",
PROMPT_C: "irb(#{Dir.pwd})? ",
PROMPT_N: "irb(#{Dir.pwd})* ",
RETURN: "%s\n"
}
IRB.conf[:PROMPT_MODE] = :CUSTOM
Pry gemを使うメリット
Pryは、いつでもインストールできるRuby gemとして提供されているREPLです。
基本的な使い方はirbと似ていますが、より豊富な機能を備えています。
主な機能:
- シンタックスハイライト
- 自動補完(irbにもありますが、ごく基本的なもの)
- イントロスペクションコマンド(メソッド、変数、定数の一覧表示など)
- 入力済みコードの編集と再実行
- デバッグ機能
これらの機能により、多くの場面でPryの方が優れた選択肢となります。まだ使ったことがないなら、ぜひ一度試してみてください。
Railsを使用している場合は、Gemfileにpry-railsを追加するだけで、rails consoleでもPryを利用できるようになります。
さらに、show-modelsやshow-routesといったRails開発に便利なコマンドも使えるようになります。
Pryには多数の設定オプションがあります。グローバル設定はホームフォルダの.pryrcファイルに、プロジェクト固有の設定は各プロジェクトフォルダ内の.pryrcに記述します。
ruby -eオプションで1行だけ実行する
REPLを起動せずに、1行だけRubyコードを実行したい場合は、Rubyの-eフラグが便利です。
使用例:
ruby -e "puts 123 * 2"
IRBを開かずに手軽に動作を確認できるので、ちょっとしたテストに最適です。
オンラインREPLを活用する
「今すぐRubyをインストールできない環境にいる」ときはどうすればいいのでしょうか?
また、ローカル環境とは異なる環境でコードを試したり、デモ用にコードを共有したり、他の人からフィードバックをもらいたいこともあるでしょう。
そんなときに活躍するのがオンラインREPLです。
おすすめの一つが Replit です。ブラウザだけでRubyコードを実行できます。
まとめ
この記事では、RubyにおけるREPLについて学びました。REPLを使えば、いちいちファイルにコードを書かなくても、素早くコードをテストできます。
まずはirbやPryを起動して、いろいろと試してみてください。上達への近道は実践あるのみです🙂
-
Ruby on Railsとは?初心者にもわかる仕組み・魅力・学び方を徹底解説
Ruby on Railsとは? Ruby on Rails(略称:RoR)は、世界で最も人気のあるオープンソースのWebアプリケーションフレームワークです。プログラミング言語「Ruby」をベースに構築されており、シンプルなサイトから大規模で複雑なサービスまで、幅広いWebアプリケーションの開発を支援します。 そもそもフレームワークとは? フレームワークとは、ソフトウェア開発の際に土台となる構造を提供してくれるコードやツール、ユーティリティの集合体です。あらかじめ用意された構造に沿ってコードを書くことで、プログラムが整理され、保守性も高まります。正しく使いこなせるようになれば、開発作業は格段に
-
銀行アプリとブラウザ、どちらが安全?オンラインバンキングのセキュリティ対策を徹底解説
世界の人口の約半分が、モバイルアプリを使ってさまざまな金融取引を行っています。スマートフォンが日々進化する一方で、それらを狙う攻撃手法も急増しています。ここ数年で、銀行や金融機関は規模の大小、公営・民営を問わず、顧客の利便性向上のために次々と専用アプリをリリースしてきました。これにより、銀行と顧客の双方が、アプリ上だけで簡単かつ迅速な取引や照会を行えるようになりました。しかし、セキュリティが単なる「言葉」にすぎない世界では、デジタル取引や金融取引に使うプラットフォームについて、しっかりと理解しておく必要があります。 銀行アプリが提供できること 銀行アプリは、最も手軽な方法でデジタル取引を行うこ