🦔

最速で体験する RBS + Steep による 型チェック

2023/05/24に公開

はじめに

この記事は、 RBSファイルを生成し、Steepによる型チェックの結果をVSCodeで表示する、という体験を最速で行うことが目標です。

対象読者

  • とりあえずRBSの良さを体感したい人
  • RubyKaigi2023でRBSやSteepという言葉にまみれ、無性に触ってみたい僕のような人

前提

  • Ruby 3以上であること(RBS が ruby 3系からの機能のため)
  • Ruby 3で動く、メソッドが定義されているスクリプトがあること
  • Bundler がインストールされていること
  • VSCode を使っていること

1. 必要なものをインストールする

gem

bundle add typeprof
bundle add steep

VSCode Extension

https://marketplace.visualstudio.com/items?itemName=soutaro.steep-vscode

2. TypeProf で、スクリプトのRBSの型定義ファイルを生成する

sig ディレクトリ内に作成します。
hoge.rb は適宜、検査したい自分のスクリプトのファイル名に置き換えてください。

typeprof hoge.rb -o ./sig/hoge.rbs

3. Steepfile を作成する

bundle exec steep init

4. Steepfile に設定を記述する

最初からコメントアウトでいろいろ書かれていますが、無視して以下の内容を記述します。
ここでは、 sig ディレクトリ内の型情報を使って、 hoge.rb を検査するという指示を入れています。

target :app do
  signature 'sig'
  check 'hoge.rb'
end

5. 触ってみる

試しに hoge.rb の 返り値の型を変更したりすると、VSCode上で型エラーが表示されます。

おわりに

簡単ではありますが、RBS + Steep の良さを知る一助となれば幸いです。

Discussion