2015-04-30 101 views

回答

3
let cl2s cl = String.concat "" (List.map (String.make 1) cl) 

(在這一點上我不知道你爲什麼要問這些問題,他們似乎沒有在任何地方領導。你可以通過自己熟悉的身影答案了標準庫)。

4

您可以創建一個長度等於列表長度的字符串,然後在列表中摺疊列表,並使用計數器初始化列表中的內容...但是,因爲OCaml 4.02,字符串類型開始向不變性方向移動(並且在4.06中變得不可變),您應該開始將字符串視爲不可變的 數據結構。所以,我們試試另一種解決方案。還有就是Buffer模塊是專門爲字符串建築使用:

# let buf = Buffer.create 16;; 
val buf : Buffer.t = <abstr> 
# List.iter (Buffer.add_char buf) ['a'; 'b'; 'c'];; 
- : unit =() 
# Buffer.contents buf;; 
- : string = "abc" 

,或作爲功能:

let string_of_chars chars = 
    let buf = Buffer.create 16 in 
    List.iter (Buffer.add_char buf) chars; 
    Buffer.contents buf 
+0

(同意;我改變了標題) –