我有一个字符列表 ['a';'b';'c']
如何将它转换为字符串 "abc"?
谢谢 x
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
let cl2s cl = String.concat "" (List.map (String.make 1) cl)
从OCaml 4.07开始,您可以使用序列轻松完成此操作。
let l = ['a';'b';'c'] in
let s = String.of_seq (List.to_seq l) in
assert ( s = "abc" )
Base.String.of_char_list
。
String.of_list
。 - nickie