Ich bin ziemlich neu, D zu betrachten (wie ... gestern, nach der Suche nach Kotlin-Benchmarks ...) und versuche derzeit zu entscheiden, ob es eine Sprache ist, mit der ich zurechtkommen will.D erhält den Ort in Args?
Ich versuche, einige Argumente von der Befehlszeile übergeben, und ich bin ein wenig überrascht. Sagen wir, ich gebe "-Foo-Bar". Mein Programm ist ganz einfach:
import std.stdio;
void main(string [] args) {
foreach(arg; args) {
writeln(arg);
}
}
aus Java, ich es erwartet
- -foo
- -Bar
Aber mein D-Programm scheint drucken seine zu erhalten Ort als erstes Argument? Die Ausgabe lautet:
- /home/(username)/Java_Projects/HelloD/hellod
- -foo
- -Bar
Ich habe versucht, für diese Suche, aber alle Google trifft beziehen zu Java -D Schalter ... Also, ist das beabsichtigte Verhalten? Wenn ja, weiß jemand warum?
Ja, C++ (und vielen anderen langages) arbeitet auf diese Weise. Die ersten Argumente sind immer Pfad zu der ausführbaren Datei. – Nil
Mögliches Duplikat von [Ist args \ [0 \] garantiert der Ausführungspfad?] (Http://stackoverflow.com/questions/383973/is-args0-guaranteed-to-be-the-path-of- Ausführung) –
Das "Duplizieren" ist für eine andere Sprache. – Silverclaw