●リスト参照に関する考察
普通にリストを参照した場合と a reference to を用いた場合と何が違うのか、推論を立ててみました。
・普通にリストを参照した場合は、リストをセットアップし、参照し終わったら解放している。
・a reference to を用いた場合は、リストをいつでも参照できるように常駐させている。
という推論を立てました。これを裏付けるような現象があります。以下はそれを再現するためのスクリプトです。まずこれをコピーしスクリプトエディタで一度実行してみてください。そして、そのファイルを保存してみてください。
出来ましたでしょうか?私は出来ませんでした。
では、最後の行の先頭の“--”をとってもう一度実行してみてください。
今度は保存できたはずです。
これは大きなリストの参照ファイルを作った場合、それを解放することを考える必要があるということを示唆します。
緑色の部分は誤りであることがわかりました。a reference to を使おうが使うまいが大きなリストが存在したままだと保存できませんでした。
戒めとしてこのまましばらくさらして後日消去します。
set numList to {}
repeat 10000 times
set end of numList to 0
end repeat
set numListRef to a reference to numList --numList の参照を作成
--set numList to {} --保存するためには numList の要素数を減らす