From: Tadayoshi Funaba Date: 1998-07-01T21:53:19+09:00 Subject: [ruby-dev:3182] Re: experimental release 1.1b9_28 ふなばです。 > ってやって,後は bar をつかう,というのと変わらない,と.....「値を > 使うときには一定のやり方をするだけで,式が高々一回だけ評価されること > が保証される」という点ではあの delay は十分優れているのですが. 僕は違うんじゃないかと信じてますけど :-) > で,何が「ちょっと違う」かというと,scheme の delay っていうのは確か > force で計算させた後は値そのものとして使えたような気がしたんです. > # 何か気のせいのような気がしてきてますが. たぶん、気のせいでしょう。変数に関連づけられるという解釈はないんじゃな いでしょうか。force がなくてもかまわない流儀ってのはあるみたいですね。 そういう処理系をつかっていたので、そう思ったってことはないでしょうか。 > 上の scheme での例のようなこと(ただしもっと透過)を想定しているので, > Promise は ええ、でも、force もあったほうがよくないですか。 というのは、 たとえば、配列を生成する Promise を渡されたとき、それをい きなり多重代入で分解しようとしてもできませんよね。そうすると、そのオブ ジクトがなんだったのか考えなくちゃいけません。Promise + [] とかすれば いいんですけど、それだったら force したほうがよさそうに思うんです。 forceもできる、という選択はないですか。 > once? よく使うようなら「最初に呼び出されたとき一度だけ評価され,後の > 参照ではこの最初の評価の結果を返す」という機能を組み込んじゃった方が > 使い勝手はよさそうですね. ええ、僕は有用だと思うんですが、まつもとさんはどう思っているんでしょう か :-) > # そういや Eiffel にはそんなのがあったな.よく使うんだろうか? そうですね。どうなんでしょう。きっと、まともとさんが鬼のように詳しいで しょう。 --Tadayoshi "use the force!" Funaba