From: MAEDA Shugo Date: 1998-07-02T00:59:18+09:00 Subject: [ruby-dev:3184] Re: once function 前田です。 Tadayoshi Funaba wrote: >> once? よく使うようなら「最初に呼び出されたとき一度だけ評価され, 後の >> 参照ではこの最初の評価の結果を返す」という機能を組み込んじゃった 方が >> 使い勝手はよさそうですね. (snip) >> # そういや Eiffel にはそんなのがあったな.よく使うんだろうか? > >そうですね。どうなんでしょう。きっと、まともとさんが鬼のように詳しい で >しょう。 Eiffelのonce functionはクラス型の定数を実現するために導入された もののようですから、 class FOO export ... feature ... baz: BAR is once ... end; end みたいなのは、 class Foo BAZ = begin ... end end とするのがRuby流なのではないでしょうか。 もちろん、他の使い道もあるのでしょうが、Rubyの場合、文法で once functionをサポートするほどのことはないように思います。 # なぜなら、EiffelよりRubyの方が自由度が高いから:-) -- 前田 修吾