2011-05-19 36 views
12

在對另一個SO question的回答中,傳遞提到了Mathematica字符串轉義語法,如下所示:"\<...\>"。顯然,這個語法對於處理字符串中的嵌入換行符非常有用。我試過在Mathematica幫助瀏覽器(和Google)中使用各種術語搜索文檔,但無濟於事。我在哪裏可以找到有關此語法的文檔?Mathematica「 <...>」語法

答案摘要

@馬克指出,構建在Section 2.8.6 of the V5 Mathematica book記錄。它也在Section 2.8.7 of the V5.2 Mathematica Book中提及。在這兩個位置中,文檔指出Mathematica忽略換行符和字符串中的選項卡 - 除非它們包含在\<\>之間,在這種情況下會保留換行符(但不是製表符)。

corresponding section of the V6 documentation中,它聲明換行符保留在字符串中。因此,似乎從V6開始不再需要轉義語法 - 因此不再進行記錄。

請注意,即使在V8中,許多筆記本電腦仍在內部使用此語法。 @Alexey指出包含換行符的字符串的單元表達式仍然使用語法。

+1

有一個例子[這裏](http://reference.wolfram.com/mathematica/tutorial/WorkingWithStringPatterns.html),它使用馬克的方法(​​這是一個長的頁面,所以只需搜索「谷歌」,它是正確的在它下面)。 – abcd 2011-05-20 00:14:03

+1

MathGroups上的相關線程:[「(任何文檔)線性語法?」](http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_thread/thread/c69e1fbb1bff3839/255910d3d6b1c206)。 – 2011-05-20 01:16:55

回答

9

它在The Mathematica Book的最新版本的2.8.6節中有所提及。當然,這是Mathematica的V5。實際上,我只是在V5.2和V6.0.3中都試過以下內容:

"Hi 
There" 

結果很不一樣。特別是,V5.2返回了一行,沒有換行符。 V6.0.3返回了兩行,換行符按預期格式化。在V6中字符串得到了很大的改進,所以``\ < ... \>「構造不再是必需的。

也許我一直在使用Mathematica的方式太長了。 :)

+4

但是這個構造仍然在內部積極使用。例子'「Hi \ nThere」'生成'Cell [BoxData [「\ <\」Hi \\ nThere \「\>」]]''。這個語法被'StringForm'等函數主動使用。具有這種結構的盒子的外觀由'Cell'的'ShowStringCharacters'選項控制。 – 2011-05-20 03:19:16