問題タブ [ambiguity]

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 投票する
1 に答える
146 参照

constructor - D のあいまいな構造体コンストラクター

D でコンストラクターのあいまいさを処理する方法を理解するのに苦労しています。

  • afvecのデータ値は 2 と 8 です。
  • aivecのデータ値は 5 と 3 です。

これは、構文から期待どおりにafvec呼び出されたことを意味します。this(float c)

ただしaivec、 に似た割り当てを行いましたaivec.a = 5

私はこれを推定して、上記で次のことが正当であることを発見しました:それぞれ値 5 と 4aivec = mydta(5, 4);を与えます。aivec

コンストラクターにアクセスできるように、この暗黙的な初期化をバイパスする方法はありますthis(int c)か?

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

dijkstra - あいまいなプログラムのダイクストラの例

敬礼。ダイクストラは、一見単純なコードの数行でさえ、絶望的に曖昧になる可能性があると書いています。私の命を救うために今は見つけることができない少なくとも1つの作品で、彼はこの曖昧さを実証するための小さなサンプルプログラムを提供しました。誰かが私に彼の論文を指摘してもらえますか?彼はこれらの例の1つを含んでいますか?

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

c++ - SFINAEコンテキストで、あいまいなメンバー要求エラーとメンバーが存在しないエラーを区別しますか?

編集:私自身の回答を投稿し、元の受け入れられた回答を保持しました...エイリアスについて考えさせられました。

編集:私の質問は、SFINAE(または他の)コンテキストでのメンバーvar/funcの存在とあいまいさを区別する可能性に向けられています。私の質問は、has_memberテンプレートを作成する方法ではなく、あいまいさと存在の違いを検出することです。

メンバーがあいまいな方法でアクセスされている場合(派生クラスの両方のベースにメンバーがある場合)と、メンバーがまったく存在しない場合(派生クラスのどちらのベースにもメンバーがない場合)を区別する部分的な特殊化を設定することは可能ですか? ?あいまいさが検出された場合にのみtrueを返す必要がありますが、メンバーがまったくない場合、またはメンバーが1つのクラスにのみ存在する場合は返しません。これは私がこれまでに持っているものであり、あいまいさ(私が欲しいもの)に対してtrueを返し、メンバーを持つ1つのクラス(私が望むもの)に対してのみfalseを返しますが、どちらのクラスにもメンバーがない場合はtrueを返します(argh!)

望ましい使用法:

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

oracle - Oracle 10g が列のあいまいさについて文句を言わないのはなぜですか?

Oracle 10g (XE 10.2.0.1.0) を使用していますが、理解できない動作を見つけました。

問題は、オラクルが where 句のあいまいさについて文句を言うべきだと思うことです。これは、テーブルとdepartment_idの両方の列であるためです。事実は Oracle 10g にありますが、そうではありません。結果は、 を にあるものとして解釈することを示しています。ただし、2 番目の結合ステートメント (上記の 4 行目) をコメントアウトすると、Oracle は予想どおり「ORA-00918: 列があいまいに定義されています」と文句を言います。employeesdepartmentsdepartment_iddepartments

では、あいまいさが Oracle 10g でどのように定義されているかを説明してくれる人はいますか? それとも、これは 10g のバグですか?

ところで: テーブルは、Oracle 10g にバンドルされているデフォルトの HR スキーマで定義されています。

更新: 関連する投稿が見つかりました: Oracle SQL は、ある結合ではあいまいさを神秘的に解決し、他の結合では解決しないのはなぜですか

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

whitespace - ANTLRで「スペース付きの貪欲な識別子」を指定するにはどうすればよいですか?

次のように、それぞれが別々の行にある一連の単純な英語のステートメントのような入力があるとします。

この文法で構文解析してみましょう。

異なる動詞の数は固定されていますが、興味深いのは、一致させようとしている名前にスペースが含まれている可能性があることです。動詞もその一部である可能性があります。したがって、次の入力が有効です。

だから問題は、私たちが通常動詞として扱っているスペースや単語を食べるのに十分貪欲であるが、動詞が規則によって一致することができるように超貪欲ではないように定義するにはどうすればよいですか?nameaction

このタスクを解決するための私の最初の試みは、次のようになりました。

残念ながら、これは「常に賭ける男」とは一致しません。これはbets、ではなく、ルールWORDのリテラルによって定義された別のトークンであるためです。のようなルールを作成し、リテラルの代わりに他のルールを一致させることでそれbetsを回避したかったのですが、それが行き詰まりました。(私はすべての動詞を有効な代替としてリストして、の一部にすることができると思いますが、それは間違っていると感じます。)keyword[String word]keyword["bets"]name

さらに、すべてのnamesが使用される前に宣言されているため、sの解析を開始する前にそれらを読み取ることができますaction。また、MAX_NAME_LENGTH文字より長くすることはできません。ここで何か役に立ちますか?

とにかく、私はそれを間違っているのかもしれません。ANTLRの達人、私はあなたから聞くことができますか?

0 投票する
6 に答える
59302 参照

c# - 変数「MyException」は宣言されていますが、使用されていません

この警告をクリアする必要があります:

コンパイラは私に言っています:

変数「MyException」は宣言されていますが、使用されていません

どうすればこれを修正できますか。

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

c# - プロパティの getter と引数が 1 つのメソッドとの間にあいまいさがあるのはなぜでしょうか?

これまで一度も遭遇したことがないとは信じられませんが、このコードでコンパイラ エラーが発生するのはなぜですか?

エラーメッセージは次のとおりです。

「FooBar.IsValid」と「FooBar.IsValid(int)」の間のあいまいさ

なぜこれがあいまいなのですか?

あいまいであってはならない2つの理由があると思います。

  1. の後に括弧はありませんIsConfused
  2. の int 引数はありませんIsConfused

あいまいさはどこにありますか?

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

c++ - テンプレートパラメータが指定されている場合でも、ptr_funがこれをあいまいに感じるのはなぜですか?

だから、ここに私の質問を説明するいくつかの基本的なコードがあります:

パラメータの数が異なる関数には、2つのオーバーロードがあります。次に、ファンクターで単一パラメーターのバージョンを変更しようとします。もちろん、次のエラーが発生します。

funcキャストしてそれで終わらせることができるのは知っていますが、なぜこれが曖昧なのか考えさせられました。どちらのバージョンにstd::ptr_funもテンプレート定義にデフォルトのパラメーターがありません。2つのテンプレートパラメーターはであると明示的に述べましたint

実際、次のように、テンプレートのインスタンス化時にコンパイラが基本的に実行していることを実行すると、次のようになります。

それはうまくコンパイルされます、どういうわけか曖昧さはなくなりました!なぜこれが当てはまるのか、誰かがインサイトを持っていますか?

0 投票する
9 に答える
10629 参照

c# - C#インターフェイスメソッドのあいまいさ

次の例を考えてみましょう。

Percentage上記の例では、呼び出すプロパティの間にあいまいさがあります。IBase1およびIBase2インターフェースが変更されない可能性があると仮定すると、このあいまいさを最もクリーンで最も好ましい方法で解決するにはどうすればよいでしょうか。

アップデート

明示的なインターフェイス実装を使用して得た応答に基づいて、これは問題を解決しますが、AllYourBaseオブジェクトをIAllYourBaseほとんどの場合、決してIBase1またはIBase2。これは主IAllYourBaseに、によって実装されているインターフェイスメソッド(関連性がないと思ったため、上記のコードスニペットで詳細を説明できなかった)があり、AllYourBaseそれらにもアクセスしたいためです。常に前後にキャストすると、非常に面倒になり、コードが乱雑になります。

Percentage私は、明示的なインターフェイス実装を使用せずにプロパティを定義することを含む1つの解決策を試しましIAllYourBaseた。これにより、少なくともコンパイラエラーが解消されたようです。

これは有効な解決策ですか?

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

grammar - BNF文法のあいまいさへの対処

.NETでIronyを使用して構築しているDSLのパーサーを構築しようとしていますが、回避策が見つからない問題が見つかりました。BNFを処理するので、どのBNFソリューションも役立つと思います。

私は次の入力を持っています:

次の文法で:

この入力でチャームのように機能します。私が望んでいた結果が正確に得られます。それは次のとおりです。

ただし、入力の順序を次のように変更すると

ステップを減らすため、同じ出力が得られません。出力は次のようになります。

Location(これは非常に広い正規表現の一致です)が他のすべてのトークンがキャプチャされ、他に何も残っていない場合にのみ評価されるようにする方法があるかどうか疑問に思いました。

どんな助けでも大歓迎です。

ありがとう!

編集:提案に従ってタイトルを更新