- 525 名前:デフォルトの名無しさん [2005/07/05(火) 23:34:23 ]
- >>522
疑問に思ったのがこのコードを実行してみてだったので、 そのまま質問してしまいました。 末尾再帰は直接関係ありません。 手続きを定義するときにその手続きは定義時の環境を「覚えて」いて、 手続きを呼び出したときにはその環境内で手続きが評価される、と 理解しています。 514の質問の意図は、作られた手続きが保持しているものが (1)手続き作成時の環境そのもの(シンボルテーブルなど環境内の要素を含む) なのか、 (2)手続き作成時の環境への参照またはポインタ でよいのか、についての答えをいただきたいということでした。 (2)でよいと思っていたのですが、もしそうだとすると、>>514の例では 手続き18:の環境は手続き2:と共有されるために、束縛関係が書き換えらてしまい、 実際の結果の説明ができません。 ということは、手続き定義時には、そのときの環境が複製され、 定義された手続き固有の(他の手続きなどからアクセスできない) 環境となって保持される、ということでよいのでしょうか。
|

|