問題タブ [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 投票する
13 に答える
32073 参照

python - Pythonの構文に新しいステートメントを追加できますか?

Pythonの構文に新しいステートメント(、、など)printraise追加できますか?with

言う、許可する。

または、

必要な場合はそれほど多くはありませんが、可能であれば(Pythonインタープリターコードを変更する以外)

0 投票する
7 に答える
525 参照

c# - 構造体に関する質問

MSDN によると、16 バイト以下のクラスは struct [citation]として処理する方が適切です。
何故ですか?
構造体が 16 バイトを超える場合、クラスよりも効率が悪いということですか、それとも同じですか?
クラスが 16 バイト未満かどうかをどのように判断しますか?
構造体がクラスのように振る舞うのを制限するものは何ですか? (パラメーターなしのコンストラクターを許可しないことに加えて)

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

vba - VBAの構文(おそらくBNF)仕様?

私の主要なプログラミング言語ではない Access 2003 VBA コードの一部を維持する必要があります。通常の作業にはかなり自信がありますが、それでも言語構文の純粋な仕様が必要です.. for ループとは何かを教えてくれるたくさんのばかげたチュートリアルを読むのに比べて、かなりの時間がかかります。

VBA 構文に関するリソースはありますか? おそらくBNFのようなもので、できるだけ正式なものにしたいと思います. 正式な仕様は見つかりませんでした。

0 投票する
8 に答える
172 参照

.net - 何もしないステートメントが例外をスローしない (または開発者に警告しない) のはなぜですか?

自己参照しているように見える VB.NET のステートメント (この効果が C# に存在するかどうかはわかりません) に何度か噛まれましたが、それらが実行されても実際には何もしません。ターゲットと 1 が提供されていません。例えば:

どちらの場合も、ステートメントが結果を代入するターゲットを必要とすることは .NET を悩ませているようには見えません。IDE/コンパイラがこの影響について警告しない、または例外「Statement DoestDoAnything」がスローされない理由はありますか? コードは何も変更しないように作成されているため、明らかに入力ミスです。

0 投票する
3 に答える
940 参照

c# - C# 'dynamic' キーワード...それは本当に RESERVED キーワードですか、それとも型として使用されるときに特別なものを意味する単なる識別子ですか?

私は C# 4.0 パーサーを持っています。'dynamic' をキーワードとしてタイプとして受け入れます。私のパーサーは、動作中の C# 3.0 プログラムで見つかった次の形式のステートメントにトリップします。

それで、それは本当にキーワードですか?それとも、任意の識別子名として引き続き使用できますか? (もしそうなら、なぜ「int」は同じように扱われないのですか)?

dynamic がキーワードかどうかを示す参照仕様はどこかにありますか? 最新の ECMA C# 4 仕様では「動的」についても触れられておらず、MS サイトで見つけることができる最高のものは「予備仕様」であり、それがキーワードであると書かれていますが、それは単にずさんな書き方であると思われます。

0 投票する
3 に答える
14440 参照

xsd - XSDでは、すべてのインジケーター内で無制限にすることはできません

var1の変数の順序付けられていないリストが2回発生し、var2が無限に発生するようにしようとしています(私のプロジェクトのユースケースは異なります)。この要素では、maxOccursを使用できません。

私がやろうとしていることに対する回避策はありますか?

0 投票する
3 に答える
294365 参照

python - False == 0 と True == 1 は実装の詳細ですか、それとも言語によって保証されていますか?

False == 0Python でandが保証True == 1されていますか (ユーザーによって再割り当てされていないと仮定します)? たとえば、Python のバージョン (既存のバージョンと将来のバージョンの両方) に関係なく、次のコードが常に同じ結果を生成することが何らかの方法で保証されていますか?

公式ドキュメントへの参照は大歓迎です!

編集:多くの回答で指摘されているように、boolから継承しintます。したがって、質問は次のように言い換えることができます01。この質問は、実装の詳細のために失敗しない堅牢なコードを記述することに関連しています!

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

f# - F#言語リファレンスドキュメントはオフライン形式(PDF、CHM)で入手できますか?

F#のオフラインドキュメントがあるかどうか、またはそうなるかどうかを尋ねる人々のhubFSに関するいくつかの 投稿を見つけました。これらの投稿には回答がありません。だから私はそれを試してみて、ここSOで同じ質問をしたいと思います。


これまでオフラインのドキュメントを探していたところ:


質問:

「公式の」オフラインドキュメントが間もなく作成されるかどうか誰かが知っていますか?

(これに関連して、客観的に答えるのは難しいかもしれません:F#がECMAまたはISO標準化を受けない、つまり言語を説明する標準化文書がない可能性が高いと期待するのは合理的でしょうか?)

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

c# - 言語仕様で説明されているC#型推論の理解の問題

C#言語仕様では、セクション§7.5.2で型推論について説明しています。その中には私にはわからない詳細があります。次の場合を考えてみましょう。

MicrosoftとMonoC#コンパイラはどちらもT=objectを正しく推測しますが、仕様のアルゴリズムを理解するとT=が生成されstring、失敗します。これが私がそれを理解する方法です:

最初のフェーズ

  • Eiが無名関数の場合、EiからTiへの明示的なパラメーター型推論(§7.5.2.7)が行われます。

    ⇒ラムダ式には明示的なパラメータータイプがないため、効果はありません。右?

  • それ以外の場合、EiのタイプがUで、xiが値パラメーターの場合、UからTiへの下限推論が行われます。

    ⇒最初のパラメータは静的タイプなstringので、これはstringの下限に追加されTますよね?

第二段階

  • Xjに依存しない(§7.5.2.5)すべての非固定型変数Xiは固定されています(§7.5.2.10)。

    T固定されていません。T何にも依存していません...だからT修正する必要がありますよね?

§7.5.2.11修正

  • 候補タイプのセットUjは、Xiの境界のセット内のすべてのタイプのセットとして始まります。

    ⇒{ string(下限)}

  • 次に、Xiの各境界を順番に調べます。[...] Xiの各下限Uについて、Uからの暗黙の変換がないすべてのタイプUjが候補セットから削除されます。[...]

    ⇒候補セットから何も削除されませんよね?

  • 残りの候補タイプUjの中に、他のすべての候補タイプへの暗黙の変換がある一意のタイプVがある場合、XiはVに固定されます。

    ⇒候補タイプは1つしかないため、これは空虚な真であり、Xiはに固定されstringます。右?


それで、私はどこで間違っているのですか?

0 投票する
4 に答える
915 参照

c# - C# 言語仕様の暗黙的な変換に関する質問

セクション 6.1 Implicit conversionsでは、恒等変換を次のように定義しています。

ID 変換は、任意の型から同じ型に変換します。この変換は、必要な型を既に持っているエンティティがその型に変換可能であると言えるように存在します。

では、このような文の目的は何でしょうか?

(§6.1.6 暗黙の参照変換で)

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

  • [...]
  • 任意の参照型から参照 T型への暗黙的な ID または参照 T0への参照変換があり、T0に への ID 変換がある場合T

と:

(§6.1.7 ボクシング変換で)

  • 値型は、インターフェイス型0Iへのボックス化変換があり、0 が への ID 変換を持っている場合、インターフェイス型へのボックス化変換を持ちます。III

最初は冗長に見えます (トートロガス)。しかし、彼らは目的のためにそこにいるに違いないのに、なぜ彼らはそこにいるのでしょうか?

上記の段落がなければ、 1が暗黙的に2に変換できないような2 つのタイプT1T2の例を挙げていただけますか?TT