Rubyは開発していて気持ちが良い、楽しいプログラミング言語です。個人的にもちょっとしたスクリプトからWebサービスまで幅広く使っています。そんな中、最近GraphQLを使っているのですが、型があるのも良いなと思っているところです。 Rubyに固い型は不要だと思いますが、Rubyに型チェックをもたらすSorbetはとても良い最善策ではないかと思います。

Sorbetの使い方

プレイグラウンドで試しています。赤線が出ているところがエラーです。

修正するとリアルタイムにエラー判定が消えました。

SorbetではT::Sigを継承することで独自の入力型、出力型をチェックできる機能が追加されます。パラメータの書き方もプログラマブルで面白いです。強制されるのも面倒ですが、Sorbetのように記述した場合はちゃんとチェックしてくれるというのは便利そうです。

SorbetはC++製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

sorbet/sorbet: A fast, powerful type checker designed for Ruby