Ruby 初心者スレッド ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
59:デフォルトの名無しさん 09/08/11 08:02:55 「インスタンス変数が初めて使用されたときにアクセサメソッドを定義させることはできませんか」 というような質問は年に何回か見るな 動的言語を名乗ってる以上できても面白そうだが、現行では残念ながらできない クラス設計者が @foo = 100 とする代わりに毎回 instance_variable_initialize(:foo, 100) と書くようにする、みたいな 予防法的なめんどくさい手順しか思いつかん あ、 instance_variable_initialize は自作してね 60:デフォルトの名無しさん 09/08/11 09:13:07 OpenStructは? 61:デフォルトの名無しさん 09/08/11 09:16:51 そのへんは > foo.xxx = foo.xxx + 123 を実現するということがどんだけ重要で取替不可かによるな これの実現のためにどんだけの不便を強いる覚悟があるかみたいな 62:デフォルトの名無しさん 09/08/11 10:01:18 >>59はostruct.rbを写経してこい 63:デフォルトの名無しさん 09/08/11 10:58:56 >>57 デフォルトの値が0っぽいから… fooのクラスがFooとすると class Foo def initialize @vals=Hash.new(0) end def method_missing(name,*args) x=name.to_s if name[-1..-1]=='=' then @vals[name[0..-2]]=args[0] else @vals[name] end end end これでよかろうか(引数の数の検証は自分で書いてちょ)
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5388日前に更新/180 KB
担当:undef