(Mathematica versione: 8.0.4)Sull'utilizzo di Internal`Bag e qualsiasi documentazione ufficiale?
lst = Names["Internal`*"];
Length[lst]
Pick[lst, StringMatchQ[lst, "*Bag*"]]
dà
293
{"Internal`Bag", "Internal`BagLength", "Internal`BagPart", "Internal`StuffBag"}
La guida Mathematica per la programmazione di Michael Trott, pagina 494 dice sul contesto interno
"Ma simili al contesto di Experimental, non esiste alcuna garanzia che il comportamento e la sintassi delle funzioni siano ancora disponibili nelle versioni successive di Mathematica "
Inoltre, ecco un accenno Bag
funzioni:
Implementing a Quadtree in Mathematica
Ma dal momento che ho visto il numero di esperti Mathematica qui suggerire Internal`Bag
funzioni e usarli se stessi, io parto dal presupposto che sarebbe sorta di sicuro usarli nel codice attuale? e se sì, ho la seguente domanda:
Dove posso trovare una descrizione più ufficiale di queste funzioni (l'API, ecc.) come si trova nel centro di documentazione? Non c'è nulla ora su di loro ora
??Internal`Bag
Internal`Bag
Attributes[Internal`Bag]={Protected}
Se devo iniziare a utilizzarle, trovo difficile per conoscere nuove funzioni da solo guardando alcuni esempi e tentativi ed errori per vedere cosa fanno. Mi chiedo se qualcuno qui potrebbe avere un documento più completo e autonomo sull'uso di questi, descrivere l'API e qualcosa di più di ciò che è già là fuori o un link a tale luogo.
?? La descrizione ufficiale * è * il cosiddetto "Centro di documentazione" (aka Help). Se non c'è nulla lì, allora non c'è altro luogo strutturato. È già successo: FrontEnd Tokens è stato introdotto su Mathematica 3, ma solo (parzialmente) documentato molto più tardi. Quindi, aspetta solo un decennio circa e WRI probabilmente lo documenterà. Fino ad allora devi affidarti a gentili sviluppatori come Dan Lichtblau et. al. per far luce nell'oscurità. –
Mi sono reso colpevole di raccomandare funzioni non documentate senza presentare il caveat del loro uso.È difficile non entusiasmarsi per l'ultimo "trucco" che imparo e iniziare a usarlo subito, ma potrebbe non essere saggio, e non dovrei incoraggiare gli altri a seguire questa pratica. Purtroppo, una serie di caratteristiche e funzioni interessanti rientrano in questa categoria. Spero che ci sarà presto una parola ufficiale su funzioni come "Bag *". –
Dubito che ci sarà qualcosa di ufficiale su questi. Ma sono in giro da almeno una dozzina d'anni e non se ne vanno. –