開啟主選單
首頁
隨機
登入
設定
關於Tan Kian-ting的維基
免責聲明
Tan Kian-ting的維基
搜尋
檢視 Gensym 的原始碼
←
Gensym
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
{{Nav|程式語言、邏輯學}} Gensym 意思是 Generate Symbol,是用來產出編譯器的不和其他變數強碰的獨一無二的變數名稱(symbol)。 以下採用 OCaml 撰寫。 <pre> let makeGenSym () = let i = ref 0 in (* fun (args...) -> body 係指 lambda 函數*) (fun (sym_name) -> let res = sym_name ^ (string_of_int !i) in let _ = (i := !i + 1) in res) (* 使用案例 *) let genSym = (makeGenSym ());; let a = genSym "str";; let b = genSym "str";;</pre> 型別與值如下: <pre> val makeGenSym : unit -> string -> string = <fun> val genSym : string -> string = <fun> val a : string = "str0" val b : string = "str1" </pre> [[category:資訊]]
此頁面使用了以下模板:
模板:Nav
(
檢視原始碼
)
返回到「
Gensym
」。