Rebol 程式設計/語言特性/物件
外觀
< Rebol 程式設計 | 語言特性
物件是在 Rebol 中管理和訪問資料的非常常見的方式。事實上,Rebol 系統的大部分都是用物件構建的。SYSTEM 物件可以被認為是 Rebol 的脊柱,所有非核心函式和資料都駐留在那裡。這是你可以找到所有 VID、各種網路協議和所有中間函式的地方。
物件是用 MAKE 函式建立的。
示例
>> shopping-basket: make object! [fruits: 5 vegetables: 3] >>
請注意,控制檯上沒有返回任何內容。物件可以儲存所有型別的資料,甚至可以儲存其他物件。
一個更大的示例,就像你在程式程式碼中通常編寫的那樣
shopping-basket: make object! [ fruits: 5 vegetables: 3 dairy-products: 7 ]
如果你想檢視一個物件,你可能已經注意到,在其中鍵入名稱不會返回任何內容。
>> shopping-basket >>
你可以使用不同的方法來檢視物件資料。
>> probe shopping-basket make object! [ fruits: 5 vegetables: 3 ]
可以使用以下方法返回更好的概述
>> ? shopping-basket SHOPPING-BASKET is an object of value: fruits integer! 5 vegetables integer! 3 total integer! 8
或者
>> print dump-obj shopping-basket fruits integer! 5 vegetables integer! 3 total integer! 8
這些函式不能在程式中用於從物件中獲取值,因為它們只在控制檯上列印資訊。它們不產生返回值。
一種方法是使用路徑表示法。
>> shopping-basket/fruits == 5
有多種方法可以訪問物件資料,無論是進行操作還是檢視。
物件可以使用 SELF 來引用自身或自身內的其他變數和函式。
>> shopping-basket: make object! [fruits: 5 vegetables: 3 total: self/fruits + self/vegetables] >> shopping-basket/total == 8
請注意,上面的示例中 SELF 的使用不是必需的。