pockestrap

Programmer's memo

RBSではRubyと定数探索がちょっとだけ違う

ほとんど一緒なので気にすることはあまりないとは思います。 タイトル通り、RBSとRubyでは定数探索がちょっとだけ違います。 具体的にはスーパークラスやinclude元のモジュールで定義された定数がRBSでは参照できません。 Rubyの場合 まずはRubyの場合の挙動…

RBS基礎文法最速マスター

RBSはRuby 3に組み込まれた、Rubyの型情報を記述する言語です。 この記事ではRBSの文法を駆け足で紹介します。 細かい話は飛ばしますが、この記事を読めば大体のケースでRBSを読み書きできるようになると思います。 事前準備 インストール まずは文法の前に…

RBSではmoduleのinclude先としてinclude先のクラスを指定してはいけない

タイトルを読んでも何を言っているのかわからないと思いますが、モジュールをincludeしようとするとRBS::RecursiveAncestorErrorが発生することがあります。 とくにObjectクラスにincludeするようなケースでは注意が必要です。 この記事ではrbs gem v1.0.0で…

RBS Railsを使ってRailsアプリケーションにSteepを導入する

RBS Railsを使ってRailsアプリケーションにSteepを導入するまでの解説します。 ただしこの「導入できる」というのは、解析が完走するという意味です。 型エラーを全てつぶすことや、Steepを実際の開発フローに乗っけることは私もまだできていないため、この…