私はRubyとRailsを使っているので、RubyのRails拡張はうまくいくはずです。Rubyのインスタンス変数に自動的に型/クラスを組み込む組み込みの方法はありますか?
実際にインスタンス変数を定義するよりも簡単なインスタンス変数(setterとgetterではなく)に型を効果的に強制する方法があるのだろうかと思います。
クラスメソッドattr_accessor
などは、型を強制しません。例えば、RailsのActiveRecord::Base
クラスがセッターで自動キャスティングを行うことに気付いた。特定のアクティブなレコード変数が整数であることをデータベースから認識し、それを@record.integer_variable = '1'
で設定すると自動的に引数がキャストされ、@record.integer_variable # => 1
を介してさらにアクセスすることができます。
これを利用する方法はありますか?
私は自分のゲッターとセッターをクラスメソッドとして書くことができましたが、スマートフォークが既に重労働をしていれば、自分自身を信頼する必要はありません。