在 OCaml 中将 char 转换为字符串
Posted
技术标签:
【中文标题】在 OCaml 中将 char 转换为字符串【英文标题】:Convert char to string in OCaml 【发布时间】:2013-12-24 19:54:09 【问题描述】:我想将 char 转换为字符串,但我没有找到函数 string_of_char
。我想只使用 Pervasives 中的函数来做到这一点。
【问题讨论】:
我真的建议你正式学习ocaml,这里有一本最近最好的书,它的html版本是免费的:realworldocaml.org/v1/en/html/index.html 仅使用 Pervasives 中的函数是不可能的,并且接受的答案不尊重此约束,因此最好将其从问题中编辑出来(连同“感谢你帮忙”,这不符合 SO 准则)。如果您的意思是“来自默认标准库”,那么使用String.make
的答案就可以了。如果您的意思是“使用一些标准库”,那么使用 Core 的也可以。
【参考方案1】:
你可以使用 String.make :)
String.make 1 mychar
【讨论】:
我说我只想使用 Pervasives 中的函数 Pervasives 中没有这个功能。只需阅读手册。 人们不假思索地投票!在这种情况下你为什么不给我投票? 您提出了很多问题,您应该能够通过自己的很少研究来回答这些问题。在我看来,这不是 *** 的一个很好的用途(可能是那些投票给你的人——在这种情况下不是我的 FWIW)。 为什么? String 模块是标准库的一部分。【参考方案2】:如果你使用Core,你可以写
open Core.Std
let s = Char.to_string 's'
【讨论】:
【参考方案3】:另一个你可以使用的:
Char.escaped 'a'
【讨论】:
【参考方案4】:如果您不想要 OCaml* 附带的标准库之外的任何依赖项,您还可以使用格式字符串将字符转换为字符串。
从一个字符中创建一个 1 字符的字符串
Printf.sprintf "%c" ch
(注意大写C
)为给定字符创建一个包含OCaml表示法的字符串
Printf.sprintf "%C" ch
例如:
# Printf.sprintf "%C" '\\';;
- : string = "'\\\\'"
# Printf.sprintf "%C" 'a';;
- : string = "'a'"
*Printf
本身不是Pervasives
的一部分
【讨论】:
以上是关于在 OCaml 中将 char 转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章