Ruby 2.7 の変更点 - irb

Ruby 2.7 アドベントカレンダーの13日目の記事です。

qiita.com

irb

irb がめっちゃ便利になりました。

まずは Ruby 2.7.0-preview3 リリース の中の動画を見るのが良いでしょう。

readline 互換の pure Ruby ライブラリ reline が標準ライブラリとして加わり、それを使用することでいろいろ便利になったみたいです。

readline の開発環境がない環境でビルドしても、ちゃんとヒストリ編集ができるのは嬉しいですね。

リアルタイムのコードハイライト

入力しているはしからリアルタイムでコードに色がついていきます。

メソッド補完

どういう仕組みかわかってませんが、メソッド補完ができます。 リテラルや変数名に続けて . + TAB でメソッドの候補が表示されます。 独自に定義したクラスやメソッドもちゃんと補完されるみたいです。

マニュアル表示

メソッド名を入力した後に TAB を2回押すとそのメソッドのマニュアルが表示されます。便利!

複数行編集

class, def, if, wihle, { 等をちゃんと認識して、インデントも自動で行われます。do はダメっぽいです(上の動画では自動インデントにはなってないみたいですが…)。 また、Ctrl-P や上矢印でヒストリ編集したときも、その単位で複数行をまとめて編集することができます。

履歴保存

入力履歴が自動で保存されるのも便利。 履歴は $HOME/.irb_history に保存されます。 irb を一旦抜けても再開すれば前の履歴を呼び出すことができます。


急に便利になりましたね。以前は pry を使ったりもしてましたが、標準の irb の方が便利になるとは…。