【问题标题】:Mathematica "\<...\>" syntaxMathematica "\<...\>" 语法
【发布时间】:2011-05-19 23:16:59
【问题描述】:

在对另一个 SO question 的回答中,提到了一个 Mathematica 字符串转义语法,如下所示:"\&lt;...\&gt;"。显然,这种语法对于处理字符串中嵌入的换行符很有用。我尝试在 Mathematica 帮助浏览器(和 Google)中使用各种术语搜索文档,但无济于事。在哪里可以找到有关此语法的文档?

答案摘要

@Mark 指出该构造记录在Section 2.8.6 of the V5 Mathematica book 中。 Section 2.8.7 of the V5.2 Mathematica Book 中也提到了它。在这两个位置,文档都指出 Mathematica 会忽略字符串中的换行符和后面的制表符——除非它们包含在 \&lt;\&gt; 之间,在这种情况下,换行符(但不是制表符)被保留。

corresponding section of the V6 documentation 中,它声明换行符保留在字符串中。因此,似乎从 V6 开始不再需要转义语法 - 因此不再记录。

请注意,许多笔记本内部仍然使用这种语法,即使在 V8 中也是如此。 @Alexey 指出包含换行符的字符串的单元格表达式仍使用该语法。

【问题讨论】:

标签: syntax wolfram-mathematica


【解决方案1】:

在最新版 The Mathematica Book 的第 2.8.6 节中简要提及。当然,这是针对 Mathematica V5 的。事实上,我只是在 V5.2 和 V6.0.3 中都尝试了以下内容:

"Hi
There"

结果完全不同。特别是,V5.2 返回单行,没有换行符。 V6.0.3 返回两行,换行符按预期格式化。字符串在 V6 中得到了显着改进,因此可能不再需要 `"\<...>" 构造。

也许我使用 Mathematica 的时间太长了。 :)

【讨论】:

  • 但是这个结构仍然在内部被积极使用。示例"Hi\nThere" 生成Cell[BoxData["\&lt;\"Hi\\nThere\"\&gt;"]]。这种语法被StringForm 等函数积极使用。具有此类结构的框的外观由CellShowStringCharacters 选项控制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
  • 1970-01-01
相关资源
最近更新 更多