11

process.argvNode がand process.ARGV(capitalized)の両方を定義していることに気付きました。後者はドキュメントには記載されておらず、これまでに遭遇したすべてのケースで同じオブジェクトです。

単なる歴史的な名残りですかARGV、それとも目的がありますか?

4

2 に答える 2

10

process.ARGV以降、完全に削除されましたv0.5.10

于 2013-02-05T22:45:23.517 に答える
4

それらは同一です:

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);

編集(さらなる質問に基づく):

確かにそれをあなたに伝えることができるのはたった一人です(著者)-あなたはIRCで彼を見つけることができるかもしれません(irc.freenode.net #node.js)。

argv他の記号を見ると、一貫性を保つために追加されたと思いenvます。小文字と大文字の両方のバージョンがあるのは2つだけのようです。ただし、とは少しENV異なります。たぶん作者は、と同じように違うかもしれないと思ったのでしょうか?envargvARGVenvENV

于 2011-04-28T22:25:31.360 に答える