大規模代碼編輯
Wolfram語言最強大的功能之一,就是它可以運用于任何規模的程序——從不到一行代碼,到數百萬行代碼的規模。在過去的幾年中,我們一直在努力擴展對于大型Wolfram語言程序的支持。使用LSP(語言服務器協議),我們為大多數標準外部IDE提供了一項功能,可以對Wolfram語言進行語法修飾和其他自定義信息。
在13.1版本中,我們也增加了一些新功能,可以讓筆記本中的大型代碼編輯變得更加便捷。首先,也是大家廣泛要求的一項是,代碼區塊的增加縮進和減少縮進。選擇你想進行增加/減少縮進的行,按tab或shift+tab就可以對它們進行縮進
自從6.0版本之后,我們就能用筆記本編輯系統處理.wl文件包(還有.wls底稿文件)。13.1版本中的一個新默認功能是對出現在基礎文件中的所有代碼行進行編號(是的,我們會考慮到非代碼單元格的存在,正確對齊行號)
舉個例子,現在如果你從Get或相關函數中發現了語法錯誤,你可以立即使用它報告的行號,從而找到它在基礎文件中的位置。
在筆記本中記錄
在12.2版本中,我們引入了Canvas,作為在筆記本中互動繪畫的便捷界面。在13.1版本中,我們引入了可以在任何單元格頂部切換畫布的功能。
在給定的單元格中,選中該單元格,點擊,這樣你就得到了一張畫布:
現在你可以利用繪畫工具在畫布上創建注解,并覆蓋在原有內容上:
如果你要對該單元格求值,覆蓋的內容依然存在。(你可以使用Normal,從而避免“畫布包裝“。)
樹狀圖還在繼續增長
在12.3版本中,我們引入了Tree,作為Wolfram語言中一個新的基礎構成。在13.0版本中,我們為樹狀圖增加了多種不同風格的選擇。在13.1版本中,我們添加了更多風格以及許多新的基礎功能。
13.1版本中,對于基礎Tree構成的重要更新是,通過將其放入一個關聯體系中,能夠為每個分支節點命名:
所有的樹狀圖函數現在包含對關聯體系的支持:
在樹狀圖的多種用途之中,節點標簽至關重要。但特別是在更抽象的應用中,人們往往想要處理未加標簽的樹狀圖。在13.1版本中,UnlabeledTree函數(幾乎類似UndirectedGraph函數)可以采用一個有標簽的樹狀圖,進而將幾乎所有能看到的標簽刪除。以下是一個標準帶標簽的樹狀圖:
以下是類似的未標簽版:
在12.3版本中,我們引入了ExpressionTree,將樹狀圖從一般的符號表達中提取出來。我們計劃設計一種更加廣泛的“特殊樹狀圖”,用于代表不同的特定種類符號表達。我們從13.1版本開始這一進程,比如,通過建立“Dataset樹狀圖“的概念。以下是ExpressionTree將數據集轉換為樹狀圖的過程:
以下則是TreeExpression將上述過程“反轉”,并生成數據集:
(記住這一規則:*Tree函數將轉換為樹狀圖;而Tree*函數則將樹狀圖轉化為其他形式。)
以下是更為復雜數據集樹狀圖的“圖表繪制”:
新的函數TreeLeafCount可以計算樹狀圖中樹葉節點的總數(幾乎類似LeafCount對于一般符號表達的作用):
13.1版本中另一個新功能則是RootTree,這一功能通常用于在不檢查每個節點的情況下去了解一個樹狀圖的結構。以下是一個隨機樹狀圖:
RootTree可以產生一個“靠近根部”的子圖:
也可以產生“遠離樹葉”的子樹狀圖,這種情況會下降至樹狀圖第-2級的元素:
在某些情況下,樹狀圖的風格就是圖表的風格——盡管由于樹狀圖的層級本質會產生一些明顯的不同。默認情況下,在特定樹狀圖元素中插入的選項只會影響這個樹狀圖的元素:
但可以給定規則,規定子樹狀圖中,該元素之下的指定元素是如何收到影響的:
在13.1版本中,現在可以從細節上控制樹狀圖中節點和邊界的風格。以下是一個例子,為母樹狀圖節點的邊界提供了樣式:
TreeElementStyle之類的選項從元素的位置上決定了元素的風格。但是另一方面,TreeElementStyleFunction會通過將函數應用于每個節點上的數據,從而決定元素的風格。
對于每一個節點,這一函數同時利用了元素的數據和位置信息:
與圖表函數VertexShapeFunction類似,TreeElementShapeFunction提供的是一般性機制,用于指定樹狀圖的節點應該如何被渲染。TreeElementShapeFunction這一設置能讓每一個節點都顯示為一個圈:
-
Wolfram
+關注
關注
0文章
16瀏覽量
7732 -
函數
+關注
關注
3文章
4332瀏覽量
62653 -
代碼
+關注
關注
30文章
4790瀏覽量
68649
原文標題:Wolfram語言與Mathematica13.1版本上線(6)
文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論