关于使用Internal`Bag和任何官方文档?

时间:2011-12-29 00:02:40

标签: wolfram-mathematica

Mathematica 版本:8.0.4)

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

给出

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

Mathematica编程指南迈克尔·特罗特(Michael Trott),第494页,内部背景说明

“但与Experimental`上下文类似,不保证在Mathematica的更高版本中仍然可以使用这些函数的行为和语法”

此外,这里提到Bag函数:

Implementing a Quadtree in Mathematica

但是,由于我已经看到Mathematica专家在这里提出了Internal`Bag函数并自己使用它们,我假设在实际代码中使用它们会有点安全吗?如果是的话,我有以下问题:

我在哪里可以找到这些函数的更正式描述(API等),就像在文档中心找到的一样?现在没有任何关于它们的信息

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

如果我开始使用它们,我会发现很难通过查看一些示例和反复试验来了解它们的功能。我想知道这里的某个人是否可能有一个更完整和自包含的文档来使用这些文档,描述API以及更多内容已经存在或者链接到这样的地方。

1 个答案:

答案 0 :(得分:1)

Internal上下文正是它的名字所说的:供Wolfram开发人员内部使用。

这意味着,除其他事项外,您可能会发现以下内容:

  • 您很可能无法找到任何官方文档,因为它不适合公众使用。
  • 对于无效参数,它不一定是健壮的。 (崩溃内核很容易发生在其中一些上。)
  • API可能会更改,恕不另行通知。
  • 该功能可能会在没有通知的情况下完全消失。

现在,在实践中,其中一些可能相当稳定,但我强烈建议你避开它们。使用未记录的API可以轻松地让您在将来遭受很多痛苦和令人讨厌的惊喜。