(Mathematica wersja: 8.0.4)W sprawie korzystania z Internal`Bag i wszelkiej oficjalnej dokumentacji?
lst = Names["Internal`*"];
Length[lst]
Pick[lst, StringMatchQ[lst, "*Bag*"]]
daje
293
{"Internal`Bag", "Internal`BagLength", "Internal`BagPart", "Internal`StuffBag"}
The Mathematica poradnik programowania przez Michaela Trott, strona 494 mówi o kontekście Wewnętrznego
ale podobne” do eksperymentalnego kontekstu, nie ma gwarancji, że zachowanie i składnia funkcji będą nadal dostępne w późniejszych wersjach Mathematica "
Również tutaj jest wzmianka o Bag
funkcji:
Implementing a Quadtree in Mathematica
Ale ponieważ widziałem wielu ekspertów Mathematica tutaj sugerują Internal`Bag
funkcje i wykorzystać je sami, jestem przy założeniu, że będzie rodzaj bezpieczne używać ich w rzeczywistym kodzie? i jeśli tak, mam następujące pytanie:
Gdzie mogę znaleźć bardziej oficjalny opis tych funkcji (API, itp.) jak w centrum dokumentacji? Nie ma nic o nich już teraz
??Internal`Bag
Internal`Bag
Attributes[Internal`Bag]={Protected}
Jeśli mam zacząć z nich korzystać, to trudno, aby dowiedzieć się o nowych funkcjach przez po prostu patrząc na kilka przykładów i prób i błędów, aby zobaczyć, co robią. Zastanawiam się, czy ktoś tutaj może mieć bardziej kompletny i samodzielny dokument na temat ich użycia, opisać API i takie coś więcej niż to, co już tam jest, lub link do takiego miejsca.
?? Oficjalny opis * to * tak zwane "Centrum dokumentacji" (inaczej "Pomoc"). Jeśli nic tam nie ma, nie ma innego zorganizowanego miejsca. Stało się to już wcześniej: token FrontEnd został wprowadzony wokół Mathematica 3, ale tylko (częściowo) udokumentowany znacznie później. Tak więc, po prostu poczekaj dekadę, a WRI prawdopodobnie to zarchiwizuje. Do tego czasu musisz polegać na dobrych programistach, takich jak Dan Lichtblau et. glin. rzucać światło w ciemność. –
Jestem winny polecania nieudokumentowanych funkcji bez zgłaszania zastrzeżenia ich użycia.Trudno nie być podekscytowanym najnowszą "sztuczką", której się uczę i zacznę od razu używać, ale może to być nierozsądne i nie powinienem zachęcać innych do stosowania tej praktyki. Niestety, wiele interesujących funkcji i funkcji należy do tej kategorii. Mam nadzieję, że wkrótce pojawi się oficjalne słowo o funkcjach takich jak '* Bag *". –
Wątpię, żeby coś w tym było oficjalnego. Ale są już od co najmniej kilkunastu lat i nie odchodzą. –