著者がシリアライザーのミューテックス部分を実装するとき、彼らはと呼ばれるリストを使用しますcell
。しかし、リストには1つの要素しか含まれていないので、変数を使用しないのはなぜですか?
2 に答える
10
変数は、別の関数に渡すことができるファーストクラスの値ではないためです。3.4では、作成者はセルを取得するヘルパー関数としてmake-mutex
使用する関数を実装しています。clear!
セルが可変変数で表されている場合、その変数を閉じるにはclear!
内部で定義する必要があります。ヘルパー関数make-mutex!
についても同様です。test-and-set!
また、consセルの代わりにボックスを使用することもできます。
于 2011-12-19T04:10:09.717 に答える
5
リストの代わりに変数が使用されている場合、Schemeは値渡しであるため、プロシージャclear!
とは機能しません。test-and-set!
于 2011-12-19T04:10:23.133 に答える