使用 OCaml 在字符串中嵌套引号?

Tec*_*333 2 string ocaml

我一直试图将一个字符串作为参数传递,其中包含双引号。例如,我希望输入是一个字符串,表示我正在“OCaml”中编程:

"I am programming in "OCaml""
Run Code Online (Sandbox Code Playgroud)

这就是我希望能够通过的。我尝试使用一些词汇约定,但没有运气。我不想更改 OCaml 周围的引号。

我试过了

"\"I am programming in "OCaml"\"
Run Code Online (Sandbox Code Playgroud)

还有一些变体。关于如何通过它的任何提示?

gle*_*nsl 8

你应该逃避引号的字符串,如需要转义,而不是分隔符本身的任何其它字符:

"I am programming in \"OCaml\""
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用带引号的字符串,它不需要(或允许)转义,并且可能更接近您想要的内容:

{|I am programming in "OCaml"|}
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅OCaml 手册中有关字符串文字的部分