2016-12-24 12 views
0

私はJavaのバックグラウンドがないことを理解してください。これはScalaを使用した最初の1時間です。私はではありません。スカラを打ち負かしました。スカラargs(0)理由

Scalalaは、argsオブジェクトに関して、規約を誇示することを決めた理由はありましたか?

私がよく知っている言語と比較して、Scalaのargs(0)は実行可能ファイルの名前を返し、args(1)は最初の引数を返すことを期待していました。

上記の「unspoken」の慣習を利用する代わりに、Scalaは、実行可能ファイルの名前(re。getting script filename and printing it)を取得するためにコーダーにJavaコードを混在させる必要があります。

+0

https://en.oxforddictionaries.com/usage/flaunt-or-flout –

+0

文法レッスンありがとうございます。一般的なエラー... – Steve

+0

多分それはちょうど使用になるでしょう(つまり、不服従または無視は本当の共有要素です)。 –

答えて

3

これは、JVMのバイトコードにコンパイルされ、同じ方法で実行されるため、これはJavaが実行する方法とScalaだけに従います。 (例えばjava -jar myjar.jar)

だから理由は、Javaのと同じです:あなたがここにそれについての議論を読むことができます:。https://softwareengineering.stackexchange.com/questions/211073/why-does-java-not-put-the-filename-in-args要するに

、ファイル名を渡すという概念は、CよりもJavaの/ Scalaではあまり意味があります/ C++で、必要に応じて簡単に入手することができます。

+0

JavaとScalaは、ファイルを持たないプラットフォームでも実行できるため、「ファイル名」の概念はまったくありません。 –

関連する問題