2008/11/3

2.6.5.錢型符號

在訊息或物件盒子,訊息的參數,開頭用錢型符號和數字(如"$1""$3-bazoo")是取代與數值供應的變數作為環境訊息的一部分是通過到達。在訊息盒子的例子,環境組成的參數,「名單」的訊息(可能推斷從"bang""float"或其他)表示,該訊息盒子是回應。因此,如果一個訊息盒子,獲得"23 skidoo",並且如果它包含文字,"$2 until $1"輸出的訊息,"skidoo until 23"

物件盒子中包含文字,形成了一個訊息被發送到Pd,以創建和初始化物件。在這裡,$1等等,都是採取從內容在這下載的patch。當patch是一種新的檔案或打開一個檔案"$"變量是未定義。但如果patch是一個抽象物(abstraction)(見下一章節),他們採取從抽象物的創建參數。

"$1-x"的結構是擴充字串串連。這是製造本地變數的機制。特別的是,一個抽象物的$0是一個計算器,這是保證是獨一無二的抽象物,使發送和接收與名稱,像"$0-bear"可以被用來作為本地一對的send/receive

請注意變數擴充,如$ 0$1只有運作在符號的開始,所以舉例來說,"rats-$1"將不會被擴充。有時您可能會想要有兩或三次的替代物,這是可以一次做到一個階段由巢式抽象物(與每個subpatch加入自己擁有的$-variabl為一個符號開始和通過這作為參數到進一步的抽象物。 )

舉例來說,如果你想要得到dog-food, dog-ears, cat-food,例如,有一個抽象物"a1"引用一個抽象物"a2"的兩次,作為"a2 $1-food""a2 $1-ears",然後在第三個patch呼叫a1次,作為"a1 cat" "a1 dog"。在四個"a2"複製的內部,$1將要求"dog-food""cat-food", "dog-ears", and "cat-ears"

沒有留言: