問題タブ [language-specifications]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
7491 参照

java - Java 8 言語仕様はどこで入手できますか?

Java 7 の仕様は Oracle サイトで入手できますが、Java 8 のベータ版のダウンロードはインターネットで入手できますが、Java 8 の仕様はどこにも見つかりません。

アイデアはありますか: それは既に書かれており、どこからダウンロードできますか? 仕様が利用できない場合、仕様として機能する (または仕様に近づく) 別のドキュメントでしょうか?

0 投票する
2 に答える
1717 参照

c# - C# が while ループで空の条件を許可しないのはなぜですか?

編集:質問が長すぎたため、ほとんどの質問を変更しました。私の質問は事実の要求ですが、意見に基づいていると見なされました。そうは言っても、私がこの質問を閉じることが間違っていた理由を説明しようとするコメントを読んでください。

また、最初の質問でお詫びしたいと思います。私は英語のネイティブ スピーカーではなく、[盲目的に] という言葉にこんなに否定的なトーンがあるとは知りませんでした。私は実際に他の質問でその言葉を使用しました。


背景:

次の C# コードを考えてみましょう。

これは、他の方法の中でも、無限ループを作成するための良い方法と考えられています。しかし、 a で同様のアプローチを試みると、while loop決してコンパイルされません:

最初は、これはコンパイラのバグだと思っていましたが、C# language specification. これはデザインであることがわかりました。なんで?C# は C に基づいており、C はこのように動作するためです。

では、問題は、なぜ C はこのように振る舞うのかということです。他の誰かがすでに StackOverflow でこの質問をしています。答えはかなり満足のいくものではなく、次のようになりました。

C言語仕様にこのように記述されているため、このように動作します。

この答えは、私が子供の頃に両親と何度も話し合ったことを思い出させてくれました。-「そう言うから」. while()さらなる回答は、 「ハッキー」であり、「使用するfor(;;)とより意味がある」と推測します(つまり、ソースや引数は追加されませんでした)。


私の研究

編集:長いと見なされたため削除されました。それは基本的に、C がこの構造を持っている理由を解明するための努力でした。


私の質問:

while loopすべての調査の結果、が空の式を受け入れることができないのは、可能であれば非論理的であると結論付けましたthe for loop

しかし、それが本当なら、なぜ C# 言語設計チームはこの動作を模倣したのでしょうか?

あなた: 「C# は C に基づいているのに、なぜ車輪を再発明するのですか?」

確かにそうですが、なぜ同じ非論理的な決定を下すのでしょうか? あなたのおじいさんが橋から飛び降りるなら、あなたが彼に基づいているという理由だけで、あなたもそうしますか? そして、古い言語に基づく新しい言語の作成は、古い言語の非論理的な落とし穴を回避/修正するための理想的な状況ではないでしょうか?

だから私の質問を繰り返すために:

  • C# 設計チームがこの動作をコピーしたのはなぜですか?
0 投票する
3 に答える
140 参照

xml - XML 仕様は、要素の順序について何か述べていますか?

XML 仕様では、XML は順序付けされていないことが示されていると何度か聞いたことがあります (たとえば、順序付けが必要な場合、それは実際には真の XML ではありません)。私が見つけた限りでは、XML 仕様は要素の順序について何も述べていません。明示的に順序付けされていないことも、順序がないことを示唆することもありません。

私はすでにそれを知っています

しかし、私が知りたいのは、XML 仕様 (任意のバージョン) は要素の順序について何かを述べているかということです。

0 投票する
5 に答える
1029 参照

c# - CS0060 の起源は何ですか: クラス型の直接の基本クラスは、少なくともクラス型自体と同じくらいアクセス可能である必要があります

.net の継承に関するこの基本的なルールに遭遇しました:
CS0060: クラス型の直接の基本クラスは、少なくともクラス型自体と同じくらいアクセス可能である必要があります。

なぜこのルールが開発されたのか興味があります。

この種の継承が好まれる理由を知っている人はいますか? 異なる方法で行う言語はありますか。


ありがとう

0 投票する
1 に答える
411 参照

c# - S から T への恒等変換が存在する場合、S と T は同じ型である必要がありますか?

6.1.6。C# 言語仕様には、次のものがあります。

暗黙の参照変換は次のとおりです。

(...)
参照型 T0 への暗黙の同一性または参照変換があり、T0 が T への同一性変換を持っている場合、任意の参照型から参照型 T へ。

代わりに、もっと簡単に言ってみませんか。

T への暗黙の同一性または参照変換がある場合、任意の参照型から参照型 T へ。

事実上の違いはありますか?

編集:仕様のタイプミスに気付きました。エラーは質問にとって重要である可能性があります(仕様には、「暗黙の変換が存在する」ではなく「暗黙の参照変換はある」と記載されています)

0 投票する
1 に答える
116 参照

scala - Scala 2.8 仕様 §6.26.5 Eta Expansion の「最大部分式」とは何ですか?

Scala 2.8 言語仕様の §6.26.5 Eta Expansionでは、最大部分式が必要であると述べられていますが、これの定義は見つかりません。誰かがこれを明確にできますか?

0 投票する
1 に答える
550 参照

java - Javaのプラス演算子が常に整数を生成するのはなぜですか?

私はこのようなコードを持っています

コンパイルが失敗する理由は何ですか? x+xは常にInteger以上を生成しますが、なぜですか? Number

0 投票する
0 に答える
60 参照

function - Python関数の引数はタプルとして渡されますか?

f2 つの引数を持つ関数とします。構文の理由がよくわかりません:

実際に動作しますか (最後のコンマに注意してください)? 引数がタプルと見なされているように見えますが、この場合、g引数が 1 つの関数である場合、なぜ機能するのですかg(1)(g(1,)同じように (1,) と記述して要素が 1 つだけのタプルを取得するのではなく) )?

Pythonの仕様の質問だと思いますが、どこを検索すればよいかわかりません。