36
18

More than 3 years have passed since last update.

Ruby の型関連の情報まとめ

Last updated at Posted at 2020-02-12

2020年にリリースが予定されている Ruby のバージョン3から型定義・静的解析ができるようになる予定なので、現時点(2020年9月30日)の情報をまとめてみる。

型シグネチャ

  • 型情報を定義したファイル
    • Ruby3 では Ruby ソースコード本体に型情報を書かない
    • 拡張子は .rbs
    • ⇨記述のための言語は Ruby ではない
  • 型シグネチャをもとに後述の型検査を実行する
  • Ruby3 に同梱される

リポジトリ

RBS: https://github.com/ruby/rbs

型プロファイラ

  • 型シグネチャ無しで型検査する(レベル1型検査)
  • 型エラーの可能性を指摘
  • 型の推論結果を用いて型シグネチャのプロトタイプを生成する
  • 型プロファイラも Ruby3 本体に同梱される

リポジトリ

TypeProf: https://github.com/ruby/typeprof/blob/master/doc/doc.ja.md

型検査器

  • 型シグネチャを使って静的検査をする(レベル2型検査)
  • 高速化は目的としておらず、エラーなどを実行前に発見することが目的
  • こちらは Ruby3 には同梱されず、各々 gem をインストールして使うことになる

リポジトリ

steep: https://github.com/soutaro/steep
sorbet: https://github.com/sorbet/sorbet

参考資料

36
18
0

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
36
18