set 代入対象 to 様々な値

様々な値 returning 代入対象

引数(Parameters)

代入対象値を代入する、変数、属性
様々な値代入する値

結果(Result)

様々な値代入した値

解説(Note)

 様々な値を代入する。
 値を設定する時は、とにかくsetを使うと思っていい。

 リストやレコード、スクリプトオブジェクトの値を変数に代入する場合、両方の値で値の格納先が共有され、その後両者の値の変更も共有される。
 このため、片方の値を変更すると、もう一方の値も同時に変わる(同じ値に二つの名前がつくため)当然メモリも少なくて済み、代入の処理も速い。
 値が共有されると困る場合はcopy命令を使う。copyの場合は、代入する時に値が複製されるので、その後両者の関係はない。

 リストやレコードを使うとき以外では、copyとsetに違いは無く、両方とも値を複製して代入する。
 copyとsetでは、引数の位置が逆なのに注意すること。

 代入対象には、リストも使えるので、一度に代入したい場合などに便利に使える。

 なお、returningはset toとなんら機能的な差はない。

用例(Example)

  1. set x to {1, 2, 3, 4, 5} 
    set y to x
    set item 3 of x to 100
    y
  2. 
    tell application "Finder"
    	set {x,y} to position of window 1
    	display dialog "横(" & x & ") 縦(" & y & ")"
    end tell
※1 結果ウィンドウでResultを見て下さい。
※1 copy命令の方の例も確認して下さい。