DEV Community

hiko1129
hiko1129

Posted on • Originally published at note.hiko1129.com on

[Ruby][Sorbet] Using T.unsafe to escape type constraints

Translate ja to en

typed: trueでもtyped: strictであってもT.unsafeを使うことで特定部分のみ型に基づかない状態で記述できます。

自分がよくやる(やるなよって話であるがTODOつけて一旦通すという意味でよくやる)のは下記のパターンです。

T.unsafe(self).hoge # selfにhogeメソッドは型定義上存在していないが実際には存在するとき
Enter fullscreen mode Exit fullscreen mode

RBIファイルに追記するまで、あるいは何かしらのconfigを書いてメソッドを生やす、あるいは型生成gemのバグ修正待ち、あるいはそもそも事前定義されている型が間違っているときには、上記のようにして一時対応したりしています。

参考

Top comments (0)