🦔
最速で体験する RBS + Steep による 型チェック
はじめに
この記事は、 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
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