【Ruby】RBSって、Nan - Nan ?
オーバーロードの質問時にメンターの方から教えてもらった。
Rubyの特徴の型に縛られない自由さ、と相反する様な型チェックのための仕組み。
正直完成されているので、記事の案内に留めようと思います。。
実際に手で動かして理解できる記事です。ありがたい。
こういった解説も。
RBS は、Ruby 3 の型を扱うための基盤です。おおよそ、次の 4 種類のものからなります。
- RBS 言語:Ruby プログラムの型情報を記述するための記法(拡張子 .rbs)
- Ruby 組み込みライブラリの型情報:Ruby の組み込みクラス(
Array
やString
など)の型情報を書いた.rbsファイル群- RBS ライブラリ:.rbs ファイルのパースや解析などをするライブラリ
- rbs コマンド:.rbs ファイルを扱うための便利コマンド
いろいろありますが、Ruby プログラマが直接意識するのは 1 つめの RBS 言語だけだと思います *1 。よって、単に RBS と言ったら「RBS 言語」、または「RBS 言語で書かれたソースコード」を指すと考えるのがよいと思います。
RBS 言語の例を示しておきます(core/string.rbs よりものすごく抜粋)。Ruby っぽいですが、Ruby ではない別の言語になっています。