Chciałbym napisać skrypty wiersza poleceń w Mathematica, ale nie mogę znaleźć funkcji podobnej do Argv[i_Integer]
. (Docs są fantastyczne inaczej).Jak uzyskać dostęp do ARGV w Mathematica?
Odpowiedz
$CommandLine
prace dla Mathematica, MathematicaScript, MathKernel i matematyki.
args.ma:
#!/usr/bin/env MathKernel -script
Print[$CommandLine]
Przykład:
$ ./args.ma a b c
{"MathKernel", "-script", "./args.ma", "a", "b", "c"}
Wydaje się, że $ScriptCommandLine jest zmienna będzie trzeba za to zakładając używasz MathematicaScript skryptów. Jeśli użyjesz math
lub MathKernel -script
, będzie to $CommandLine.
Inne istotne dyskusje: a rather old one i jeden w MMA toolbag.
Dzięki. Niestety, 'MathKernel' zgłasza' $ ScriptCommandLine' jako puste '{}', niezależnie od faktycznych argumentów dostarczonych. Oraz "MathematicaScript" zgłasza "Nie można znaleźć katalogu instalacyjnego Mathematica." – mcandre
@mcandre Czy pliki wykonywalne znajdują się na twojej ścieżce? –
@mcandre .... i widziałeś ten wiersz w dokumentach: "Pierwsza linia skryptu musi zawierać opcję -script, która musi być ** ostatnią ** opcją na linii." –
jestem lubiący przechodząc rzeczy za pomocą zmiennych środowiskowych:
http://reference.wolfram.com/mathematica/ref/Environment.html
Pomocna, ale jest nieco bardziej ręczna niż określanie flag linii poleceń. – mcandre
podobne pytanie: [? Jeśli robi matematyki „foo bar”, jak dostać foo i bar wewnątrz Mathematica] (http: // stackoverflow.com/q/7149252/211232) – WReach