問題タブ [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.
python - Pythonの構文に新しいステートメントを追加できますか?
Pythonの構文に新しいステートメント(、、など)print
をraise
追加できますか?with
言う、許可する。
または、
必要な場合はそれほど多くはありませんが、可能であれば(Pythonインタープリターコードを変更する以外)
c# - 構造体に関する質問
MSDN によると、16 バイト以下のクラスは struct [citation]として処理する方が適切です。
何故ですか?
構造体が 16 バイトを超える場合、クラスよりも効率が悪いということですか、それとも同じですか?
クラスが 16 バイト未満かどうかをどのように判断しますか?
構造体がクラスのように振る舞うのを制限するものは何ですか? (パラメーターなしのコンストラクターを許可しないことに加えて)
vba - VBAの構文(おそらくBNF)仕様?
私の主要なプログラミング言語ではない Access 2003 VBA コードの一部を維持する必要があります。通常の作業にはかなり自信がありますが、それでも言語構文の純粋な仕様が必要です.. for ループとは何かを教えてくれるたくさんのばかげたチュートリアルを読むのに比べて、かなりの時間がかかります。
VBA 構文に関するリソースはありますか? おそらくBNFのようなもので、できるだけ正式なものにしたいと思います. 正式な仕様は見つかりませんでした。
.net - 何もしないステートメントが例外をスローしない (または開発者に警告しない) のはなぜですか?
自己参照しているように見える VB.NET のステートメント (この効果が C# に存在するかどうかはわかりません) に何度か噛まれましたが、それらが実行されても実際には何もしません。ターゲットと 1 が提供されていません。例えば:
どちらの場合も、ステートメントが結果を代入するターゲットを必要とすることは .NET を悩ませているようには見えません。IDE/コンパイラがこの影響について警告しない、または例外「Statement DoestDoAnything」がスローされない理由はありますか? コードは何も変更しないように作成されているため、明らかに入力ミスです。
c# - C# 'dynamic' キーワード...それは本当に RESERVED キーワードですか、それとも型として使用されるときに特別なものを意味する単なる識別子ですか?
私は C# 4.0 パーサーを持っています。'dynamic' をキーワードとしてタイプとして受け入れます。私のパーサーは、動作中の C# 3.0 プログラムで見つかった次の形式のステートメントにトリップします。
それで、それは本当にキーワードですか?それとも、任意の識別子名として引き続き使用できますか? (もしそうなら、なぜ「int」は同じように扱われないのですか)?
dynamic がキーワードかどうかを示す参照仕様はどこかにありますか? 最新の ECMA C# 4 仕様では「動的」についても触れられておらず、MS サイトで見つけることができる最高のものは「予備仕様」であり、それがキーワードであると書かれていますが、それは単にずさんな書き方であると思われます。
xsd - XSDでは、すべてのインジケーター内で無制限にすることはできません
var1の変数の順序付けられていないリストが2回発生し、var2が無限に発生するようにしようとしています(私のプロジェクトのユースケースは異なります)。この要素では、maxOccursを使用できません。
私がやろうとしていることに対する回避策はありますか?
python - False == 0 と True == 1 は実装の詳細ですか、それとも言語によって保証されていますか?
False == 0
Python でandが保証True == 1
されていますか (ユーザーによって再割り当てされていないと仮定します)? たとえば、Python のバージョン (既存のバージョンと将来のバージョンの両方) に関係なく、次のコードが常に同じ結果を生成することが何らかの方法で保証されていますか?
公式ドキュメントへの参照は大歓迎です!
編集:多くの回答で指摘されているように、bool
から継承しint
ます。したがって、質問は次のように言い換えることができます0
1
。この質問は、実装の詳細のために失敗しない堅牢なコードを記述することに関連しています!
f# - F#言語リファレンスドキュメントはオフライン形式(PDF、CHM)で入手できますか?
F#のオフラインドキュメントがあるかどうか、またはそうなるかどうかを尋ねる人々のhubFSに関するいくつかの 投稿を見つけました。これらの投稿には回答がありません。だから私はそれを試してみて、ここSOで同じ質問をしたいと思います。
これまでオフラインのドキュメントを探していたところ:
Visual F#(バージョン2.0)の2010年4月のCTPリリースはVS 2008で利用できますが、オフラインヘルプはありません。
さまざまなプログラミング言語のオフラインドキュメントについてSOに質問がありますが、この記事の執筆時点ではF#については言及されていません。
もちろん、MicrosoftのF#言語リファレンスドキュメント(MSDNで入手可能)があります。これは、たとえばを使用してオフラインブラウジング用にダウンロードできます
wget
。
質問:
「公式の」オフラインドキュメントが間もなく作成されるかどうか誰かが知っていますか?
(これに関連して、客観的に答えるのは難しいかもしれません:F#がECMAまたはISO標準化を受けない、つまり言語を説明する標準化文書がない可能性が高いと期待するのは合理的でしょうか?)
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
ます。右?
それで、私はどこで間違っているのですか?
c# - C# 言語仕様の暗黙的な変換に関する質問
セクション 6.1 Implicit conversionsでは、恒等変換を次のように定義しています。
ID 変換は、任意の型から同じ型に変換します。この変換は、必要な型を既に持っているエンティティがその型に変換可能であると言えるように存在します。
では、このような文の目的は何でしょうか?
(§6.1.6 暗黙の参照変換で)
暗黙の参照変換は次のとおりです。
- [...]
- 任意の参照型から参照
T
型への暗黙的な ID または参照型T
0への参照変換があり、T
0に への ID 変換がある場合T
。
と:
(§6.1.7 ボクシング変換で)
- 値型は、インターフェイス型0
I
へのボックス化変換があり、0 が への ID 変換を持っている場合、インターフェイス型へのボックス化変換を持ちます。I
I
I
最初は冗長に見えます (トートロガス)。しかし、彼らは目的のためにそこにいるに違いないのに、なぜ彼らはそこにいるのでしょうか?
上記の段落がなければ、 1が暗黙的に2に変換できないような2 つのタイプT
1、T
2の例を挙げていただけますか?T
T