2011-12-29 68 views
6

數學版本:8.0.4)關於使用Internal`Bag和任何官方文檔?

lst = Names["Internal`*"]; 
Length[lst] 
Pick[lst, StringMatchQ[lst, "*Bag*"]] 

293  
{"Internal`Bag", "Internal`BagLength", "Internal`BagPart", "Internal`StuffBag"} 

的數學指南編程邁克爾·特羅特,494頁說的內部背景下

「但類似到實驗上下文中,不能保證函數的行爲和語法在Mathematica的更高版本中仍然可用「

而且,這裏是Bag功能一提:

Implementing a Quadtree in Mathematica

但因爲我已經看到了數學專家號在這裏建議Internal`Bag功能和使用他們自己,我假定這將是某種安全在實際代碼中使用它們?如果是這樣,我有以下問題:

我在哪裏可以找到更正式的描述這些功能(API等..)就像在文件中心找到?現在有見死不救現在

??Internal`Bag 
Internal`Bag 
Attributes[Internal`Bag]={Protected} 

如果我開始使用他們,我覺得很難通過看一些例子和反覆試驗,看看他們做什麼,瞭解新功能。我想知道這裏的某個人是否有更完整和自我包含的文檔可以使用這些文檔,描述API等等,而不僅僅是已經存在的內容或與這些地方的鏈接。

+9

??官方說明*是所謂的「文檔中心」(又名幫助)。如果什麼都沒有,那麼就沒有其他結構性的地方。它曾經發生過:FrontEnd令牌是在Mathematica 3的基礎上發佈的,但是後來才被部分記錄。所以,等待十年左右,世界資源研究所可能會記錄它。在那之前,你必須依賴像Dan Lichtblau et。人。將光照入黑暗中。 – 2011-12-29 00:33:29

+3

我一直在推薦未公開的功能而沒有提出使用警告。很難不對我學習的最新「技巧」感到興奮,並馬上開始使用它,但這可能是不明智的,我不應該鼓勵其他人遵循這種做法。可悲的是,一些有趣的功能和功能屬於這一類。我希望很快會有關於'* Bag *'的功能的官方文字。 – 2011-12-29 03:44:21

+9

我懷疑會有什麼官方的關於這些。但他們已經存在了至少十幾年,而且他們不會離開。 – 2011-12-29 03:48:44

回答

0

Internal上下文正如其名稱所示:表示由Wolfram開發人員內部使用。

這意味着,除其他事項外,下面的東西抱的東西,你可能會發現在那裏:

  • 你最有可能將無法找到它的任何官方文件,因爲它並不意味着被公衆使用。
  • 對於無效參數,它不一定非常健壯。 (內核崩潰很容易發生在其中的一些內核上。)
  • API可能會在沒有通知的情況下更改。
  • 該功能可能完全消失,恕不另行通知。

現在,在實踐中,其中一些可能相當穩定,但我強烈建議你避開它們。使用無證API可能很容易讓您在未來遇到很多痛苦和令人不快的驚喜。