
130
|
第三章
一般 Mathematica 程式設計師都會不假思索地以這個顯而易見的方式實作。然而這個
方 法 是 靜 態 的(static), 但 大 多 數 關 聯 式 資 料 結 構 需 為 動 態 的(dynamic), 當 然 對
Mathematica 而言這也不是問題,因為你可以隨時刪除 downvalue。
11779 的關聯數值便消失了,此時 Mathematica 會回傳原表示式。
但這還 不夠,關聯 式資料 結構必 須能取出 所有鍵 值及對 應數值。當 然, 這也難 不倒
Mathematica。[Page-131]
因此,所有的必備特性都可以使用 Mathematica 內建核心實作關聯式資料結構。剩下的
僅是將這些功能集中並定義統一使用方式。
討論說明
首先我們需要關聯數組的建構指令。如前文所提及的,我們以符號來解決此問題,至於
實作上符號的名稱並不重要,重要的是它必須是 Mathematica 內獨一無二的符號;很幸
運的,Mathematica 提供了
Unique
指令可建立獨特的符號;以此符號的 downvalue 建立
關聯數組,其起始狀態對所有鍵值均輸出空串列。此符號將被包裝在
Dictionary
標頭內
作為回傳值。
我們也需要一個方式刪除關聯數組及其所有內容,
Remove
指令可以達到這一點。
ch03.indd 130 2014/4/2 上午 05:19:25