Gre*_*bet 3 arrays ocaml string-concatenation
OCaml标准库提供了函数String.concat
https://caml.inria.fr/pub/docs/manual-ocaml/libref/String.html
val concat : string -> string list -> string
String.concat sep sl连接字符串列表sl,在每个字符串之间插入分隔符字符串sep。
据推测,该函数的存在是为了更容易地将许多字符串在时间/空间上与字符串长度呈线性连接在一起。
数组是否存在类似的功能?特别是,有没有一种方法可以有效地将字符串数组连接在一起,而无需 1) 编写 C 扩展并构建棘手的中间结构或 2) 有效调用String.concat "" (Array.to_list arr)).
最好的办法是自己写一个concat模仿的函数String.concat。如果您想要更短的内容,请使用缓冲区来累积结果 ( Array.iter (Buffer.add_string b) arr) \xe2\x80\x94 不要重复连接,这会生成太多分配。
| 归档时间: |
|
| 查看次数: |
2362 次 |
| 最近记录: |