Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
19
Help us understand the problem. What is going on with this article?
@natsuokawai

Ruby の型関連の情報まとめ

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

参考資料

19
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
stmn-co
名古屋のITスタートアップベンチャーです。「一人でも多くの人に、感動を届け、幸せを広める。」の経営理念のもと、 エンゲージメント経営コンサルティング「TUNAG」、オンラインファンサロンアプリ「FANTS」などのサービスを展開しています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
19
Help us understand the problem. What is going on with this article?