LoginSignup
2
1

More than 1 year has passed since last update.

Ruby3.1を触ってみる(IRB のオートコンプリートとドキュメント表示)

Posted at

0. はじめに

前回 に引き続きRuby 3.1の新機能について動かしながら紹介しようと思います。

今回は IRB のオートコンプリートとドキュメント表示 になります。
irb自体はRubyを触っていれば簡単な動作確認したりと誰しもが使ったことがあるものだと思います。
それの拡張された機能になります。早速みていきましょう!

1. リリースノートを見てみる

IRB にオートコンプリート機能が実装され、コードを入力するだけで補完候補ダイアログが表示されるようになりました。Tab と Shift+Tab で上下に移動できます。
また、補完候補を選択している時に、ドキュメントがインストールされている場合、補完候補ダイアログの横にドキュメントダイアログが表示され、内容が一部表示されます。Alt+d を押すことでドキュメント全文を読むことができます。

引用: https://www.ruby-lang.org/ja/news/2021/12/25/ruby-3-1-0-released/

2. 触ってみる

2-1. 基本的な挙動

  • irbの実行は今まで通り irb 叩けばOK

  • 以下の画像の通りにコードを入力しているとダイアログが表示されます
    スクリーンショット 2022-09-21 18.32.47.png

  • 補完ダイアログは tab で↓移動。 shift+tab で↑移動してコードの補完を行います
    スクリーンショット 2022-09-21 18.33.17.png

  • 標準搭載のクラスメソッドや予約語だけでなくあらかじめ自身で定義したメソッドや変数も補完してくれるようになります
    スクリーンショット 2022-09-21 18.39.39.png

2-2. ドキュメントの全文表示

  • ダイアログの中にはドキュメントが書かれているものも存在します
    スクリーンショット 2022-09-21 19.08.44.png

  • その項目の上で Alt+d をすると全文表示できます(q で抜ける)
    スクリーンショット 2022-09-21 19.08.24.png

3. ダイアログ表示できるようになったけれど・・・

個人的所感ですが、使ってみてリッチになったように見える反面以下が気になりました

  • 結局ダイアログでtab押し続けて補完はほとんどしなそう
    • 上の例を見て頂けるとわかりますが、 hoge というメソッドは4文字、 tabキー押して補完するのも結局4回キーを叩いているのであまり差がないです
    • ↑の例は極端ですが、普段から使っているメソッドとかは指が覚えているので補完するまでもないよなって感じなので利用頻度は少ないかなと感じました
  • 補完したくなくてもダイアログが出てくるので画面がずれる
    • 以下のように前に入力していた結果がダイアログのせいでずれてしまうことが発生しました。ダイアログがこちらの補完したくないときにも表示されてしまいかえって邪魔になってしまうこともあるかもしれません
      anime.gif

4. オートコンプリートを無効化したいときは

じゃあどうすれば良いかというと以下の2パターンのいずれかでオートコンプリートを無効化することで回避することができます

[1] --noautocomplete オプションをつけてirbを起動する

  • irb オプションにてダイアログの非表示をするオプションを実行すればOK
$ irb --noautocomplete

[2] .irbrc に環境設定する

  • [1] だと毎回オプションをつけないといけなくなるのでダイアログ非表示にする私用頻度が高い場合はirbの設定ファイルを作成 or 編集することでモーダル表示の設定をオフにしてオプションなしでも非表示にすることができます
.irbrc
IRB.conf[:USE_AUTOCOMPLETE] = false

いずれかの対応を行えば以下のようにダイアログが表示されなくなります!

スクリーンショット 2022-09-21 19.56.07.png

5. 最後に

今回は IRB のオートコンプリートとドキュメント表示 について紹介しました。
良い機能でありながらも不要であればカスタマイズしたりとする機会が増えそうな気がします。
自身に合った .irbrc ファイル作って良いirbライフを送りたいですね!

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1