( Mathematica versión: 8.0.4)Sobre el uso de Internal`Bag, y cualquier documentación oficial?
lst = Names["Internal`*"];
Length[lst]
Pick[lst, StringMatchQ[lst, "*Bag*"]]
da
293
{"Internal`Bag", "Internal`BagLength", "Internal`BagPart", "Internal`StuffBag"}
La guía Mathematica para la programación Por Michael Trott, página 494 dice en el contexto interno
"pero similar al contexto Experimental, no existe garantía de que el comportamiento y la sintaxis de las funciones aún estén disponibles en las versiones posteriores de Mathematica "
Además, aquí es una mención de Bag
funciones:
Implementing a Quadtree in Mathematica
Pero desde que he visto varios expertos Mathematica aquí sugieren Internal`Bag
funciones y los utilizan ellos mismos, estoy asumiendo que sería una especie de seguro para usarlos en el código real? y si es así, tengo la siguiente pregunta:
¿Dónde puedo encontrar una descripción más oficial de estas funciones (la API, etc.) como las que se encuentran en el centro de documentación? No hay nada ahora acerca de ellos ahora
??Internal`Bag
Internal`Bag
Attributes[Internal`Bag]={Protected}
Si he de empezar a usarlos, me resulta difícil de aprender sobre nuevas funciones con sólo mirar algunos ejemplos y ensayo y error para ver lo que hacen. Me pregunto si alguien aquí podría tener un documento más completo y autónomo sobre el uso de estos, describir la API y otros más de lo que ya existe o un enlace a dicho lugar.
?? La descripción oficial * es * el llamado "Centro de documentación" (también conocido como Ayuda). Si no hay nada allí, entonces no hay otro lugar estructurado. Ha sucedido antes: los tokens front-end se introdujeron alrededor de Mathematica 3, pero solo (parcialmente) documentados mucho más tarde. Entonces, solo espere una década más o menos y es probable que WRI lo documente. Hasta entonces, debes confiar en desarrolladores amables como Dan Lichtblau et. Alabama. para arrojar luz a la oscuridad. –
He sido culpable de recomendar funciones no documentadas sin también presentar la advertencia de su uso.Es difícil no entusiasmarse con el último "truco" que aprendo y comenzar a usarlo de inmediato, pero puede ser imprudente, y no debería alentar a otros a seguir esta práctica. Lamentablemente, una serie de características y funciones interesantes caen en esta categoría. Espero que pronto haya una palabra oficial sobre funciones como '* Bag *'. –
Dudo que haya algo oficial sobre eso. Pero han existido por al menos una docena de años, y no van a desaparecer. –