Node.js: process.argv vs. process.ARGV
-
26-10-2019 - |
Domanda
Ho notato che il nodo definisce sia process.argv
e process.ARGV
(capitalizzati). Il entro e non è menzionato nella documentazione ed è, in ogni caso, ho incontrato finora, lo stesso oggetto.
E 'ARGV
solo un retaggio storico, o ha uno scopo?
Soluzione
process.ARGV
stato completa rimozione dal v0.5.10
.
Altri suggerimenti
Sono identici:
node.cc
// process.argv
Local<Array> arguments = Array::New(argc - option_end_index + 1);
arguments->Set(Integer::New(0), String::New(argv[0]));
for (j = 1, i = option_end_index; i < argc; j++, i++) {
Local<String> arg = String::New(argv[i]);
arguments->Set(Integer::New(j), arg);
}
// assign it
process->Set(String::NewSymbol("ARGV"), arguments);
process->Set(String::NewSymbol("argv"), arguments);
Modifica (sulla base di ulteriore domanda):
C'è solo una persona che può dire che per che (l'autore) -. Potrebbe essere in grado di trovarlo su IRC (irc.freenode.net #node.js
)
Guardando attraverso gli altri simboli, direi che è stato aggiunto per la coerenza - argv
e env
sembrano essere gli unici due che hanno entrambe le versioni inferiori e superiori di casi. Tuttavia, differisce ENV
un po ' da env
. Forse l'autore ha pensato che argv
e ARGV
potrebbero differire nella stessa maniera come env
e ENV
?