Ruby + Type = Rubype 既存のコードとの互換性を崩すことなく、選択的にメソッドに型保証を与えるGemです. Github HP HackerNews ここで指す'メソッドの型保証'とは実行時レベルでメソッドの引数返値のクラス型や反応すべきメソッドを保証する事です. 得られる一般的な型保証のメリット Executableなドキュメントをコード内に付与出来る. エラーがより意味のあるエラーになる. Rubypeが確かであるならば引数返値チェックの処理は一切不要となる この様な形で型情報付与するからこそ出来ること. 実行時に動的に型の付与変更、型情報の確認がする事も出来る.(型情報もオブジェクト) クラス型のみではなく、反応すべきメソッドをシンボルで指定する事が可能 このGemのデメリット、至らぬところ 当該メソッドを呼び出す度に型チェックを行うのでオーバヘッドが生まれる. (
![Rubypeを使ってRubyで型のメリットを享受する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/fa5f0cd4228e94476a0f798fd93da325cd47d059/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UnVieXBlJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgxJUEzJUUzJTgxJUE2UnVieSVFMyU4MSVBNyVFNSU5RSU4QiVFMyU4MSVBRSVFMyU4MyVBMSVFMyU4MyVBQSVFMyU4MyU4MyVFMyU4MyU4OCVFMyU4MiU5MiVFNCVCQSVBQiVFNSU4RiU5NyVFMyU4MSU5OSVFMyU4MiU4QiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ODkzOWY3YWMyMGNhNWVmNjczZDk2Yzk1MmIwMzZmZGM%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBnb2dvdGFuYWthJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1kZjg4ZmE1YTUwNjk5ODcxMTJiMGVhYzBmYWE5ZjBiYQ%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dc588071e29b3d7a99fa0104ef7a12913)