Ruby で Sorbet を最小限で使う例

注意点

  • Rails ではなく、素の Ruby です
  • Bundler を用います*1
  • 詳細や最新情報は必ず 公式ドキュメント を参照してください

結論

1. Gemfile を書く

gem 'sorbet'
gem 'sorbet-runtime'
gem 'tapioca', require: false

2. $ bundle install する

$ bundle install

3. 初期化する

詳しくは 公式ドキュメント を参照してください。

$ bundle exec tapioca init

4. Ruby のコード を書く

以下のコードを app.rb とします。

# typed: true

require 'sorbet-runtime'

class App
  extend T::Sig

  sig { params(first: Integer, second: Integer).returns(Integer) }
  def sum(first, second)
    first + second
  end
end

result = App.new.sum(1, 3)
puts "SUM: #{result}"

5. 型チェックを行う

$ bundle exec srb tc

6. app.rb を実行する

  • 型が不正である場合は実行時にエラーが出ます
$ bundle exec ruby app.rb
SUM: 4

注意点

  • require 'sorbet-runtime' は必須です
    • なぜなら、これがないと extend T::Sig できないから

参考

zenn.dev

note.com

*1:直接 gem install はしない

Powered by はてなブログ