問題タブ [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.
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)
か?
dijkstra - あいまいなプログラムのダイクストラの例
敬礼。ダイクストラは、一見単純なコードの数行でさえ、絶望的に曖昧になる可能性があると書いています。私の命を救うために今は見つけることができない少なくとも1つの作品で、彼はこの曖昧さを実証するための小さなサンプルプログラムを提供しました。誰かが私に彼の論文を指摘してもらえますか?彼はこれらの例の1つを含んでいますか?
c++ - SFINAEコンテキストで、あいまいなメンバー要求エラーとメンバーが存在しないエラーを区別しますか?
編集:私自身の回答を投稿し、元の受け入れられた回答を保持しました...エイリアスについて考えさせられました。
編集:私の質問は、SFINAE(または他の)コンテキストでのメンバーvar/funcの存在とあいまいさを区別する可能性に向けられています。私の質問は、has_memberテンプレートを作成する方法ではなく、あいまいさと存在の違いを検出することです。
メンバーがあいまいな方法でアクセスされている場合(派生クラスの両方のベースにメンバーがある場合)と、メンバーがまったく存在しない場合(派生クラスのどちらのベースにもメンバーがない場合)を区別する部分的な特殊化を設定することは可能ですか? ?あいまいさが検出された場合にのみtrueを返す必要がありますが、メンバーがまったくない場合、またはメンバーが1つのクラスにのみ存在する場合は返しません。これは私がこれまでに持っているものであり、あいまいさ(私が欲しいもの)に対してtrueを返し、メンバーを持つ1つのクラス(私が望むもの)に対してのみfalseを返しますが、どちらのクラスにもメンバーがない場合はtrueを返します(argh!)
望ましい使用法:
oracle - Oracle 10g が列のあいまいさについて文句を言わないのはなぜですか?
Oracle 10g (XE 10.2.0.1.0) を使用していますが、理解できない動作を見つけました。
問題は、オラクルが where 句のあいまいさについて文句を言うべきだと思うことです。これは、テーブルとdepartment_id
の両方の列であるためです。事実は Oracle 10g にありますが、そうではありません。結果は、 を にあるものとして解釈することを示しています。ただし、2 番目の結合ステートメント (上記の 4 行目) をコメントアウトすると、Oracle は予想どおり「ORA-00918: 列があいまいに定義されています」と文句を言います。employees
departments
department_id
departments
では、あいまいさが Oracle 10g でどのように定義されているかを説明してくれる人はいますか? それとも、これは 10g のバグですか?
ところで: テーブルは、Oracle 10g にバンドルされているデフォルトの HR スキーマで定義されています。
更新: 関連する投稿が見つかりました: Oracle SQL は、ある結合ではあいまいさを神秘的に解決し、他の結合では解決しないのはなぜですか
whitespace - ANTLRで「スペース付きの貪欲な識別子」を指定するにはどうすればよいですか?
次のように、それぞれが別々の行にある一連の単純な英語のステートメントのような入力があるとします。
この文法で構文解析してみましょう。
異なる動詞の数は固定されていますが、興味深いのは、一致させようとしている名前にスペースが含まれている可能性があることです。動詞もその一部である可能性があります。したがって、次の入力が有効です。
だから問題は、私たちが通常動詞として扱っているスペースや単語を食べるのに十分貪欲であるが、動詞が規則によって一致することができるように超貪欲ではないように定義するにはどうすればよいですか?name
action
このタスクを解決するための私の最初の試みは、次のようになりました。
残念ながら、これは「常に賭ける男」とは一致しません。これはbets
、ではなく、ルールWORD
のリテラルによって定義された別のトークンであるためです。のようなルールを作成し、リテラルの代わりに他のルールを一致させることでそれbets
を回避したかったのですが、それが行き詰まりました。(私はすべての動詞を有効な代替としてリストして、の一部にすることができると思いますが、それは間違っていると感じます。)keyword[String word]
keyword["bets"]
name
さらに、すべてのname
sが使用される前に宣言されているため、sの解析を開始する前にそれらを読み取ることができますaction
。また、MAX_NAME_LENGTH文字より長くすることはできません。ここで何か役に立ちますか?
とにかく、私はそれを間違っているのかもしれません。ANTLRの達人、私はあなたから聞くことができますか?
c# - 変数「MyException」は宣言されていますが、使用されていません
この警告をクリアする必要があります:
コンパイラは私に言っています:
変数「MyException」は宣言されていますが、使用されていません
どうすればこれを修正できますか。
c# - プロパティの getter と引数が 1 つのメソッドとの間にあいまいさがあるのはなぜでしょうか?
これまで一度も遭遇したことがないとは信じられませんが、このコードでコンパイラ エラーが発生するのはなぜですか?
エラーメッセージは次のとおりです。
「FooBar.IsValid」と「FooBar.IsValid(int)」の間のあいまいさ
なぜこれがあいまいなのですか?
あいまいであってはならない2つの理由があると思います。
- の後に括弧はありません
IsConfused
。 - の int 引数はありません
IsConfused
。
あいまいさはどこにありますか?
c++ - テンプレートパラメータが指定されている場合でも、ptr_funがこれをあいまいに感じるのはなぜですか?
だから、ここに私の質問を説明するいくつかの基本的なコードがあります:
パラメータの数が異なる関数には、2つのオーバーロードがあります。次に、ファンクターで単一パラメーターのバージョンを変更しようとします。もちろん、次のエラーが発生します。
func
キャストしてそれで終わらせることができるのは知っていますが、なぜこれが曖昧なのか考えさせられました。どちらのバージョンにstd::ptr_fun
もテンプレート定義にデフォルトのパラメーターがありません。2つのテンプレートパラメーターはであると明示的に述べましたint
。
実際、次のように、テンプレートのインスタンス化時にコンパイラが基本的に実行していることを実行すると、次のようになります。
それはうまくコンパイルされます、どういうわけか曖昧さはなくなりました!なぜこれが当てはまるのか、誰かがインサイトを持っていますか?
c# - C#インターフェイスメソッドのあいまいさ
次の例を考えてみましょう。
Percentage
上記の例では、呼び出すプロパティの間にあいまいさがあります。IBase1
およびIBase2
インターフェースが変更されない可能性があると仮定すると、このあいまいさを最もクリーンで最も好ましい方法で解決するにはどうすればよいでしょうか。
アップデート
明示的なインターフェイス実装を使用して得た応答に基づいて、これは問題を解決しますが、AllYourBase
オブジェクトをIAllYourBase
ほとんどの場合、決してIBase1
またはIBase2
。これは主IAllYourBase
に、によって実装されているインターフェイスメソッド(関連性がないと思ったため、上記のコードスニペットで詳細を説明できなかった)があり、AllYourBase
それらにもアクセスしたいためです。常に前後にキャストすると、非常に面倒になり、コードが乱雑になります。
Percentage
私は、明示的なインターフェイス実装を使用せずにプロパティを定義することを含む1つの解決策を試しましIAllYourBase
た。これにより、少なくともコンパイラエラーが解消されたようです。
これは有効な解決策ですか?
grammar - BNF文法のあいまいさへの対処
.NETでIronyを使用して構築しているDSLのパーサーを構築しようとしていますが、回避策が見つからない問題が見つかりました。BNFを処理するので、どのBNFソリューションも役立つと思います。
私は次の入力を持っています:
次の文法で:
この入力でチャームのように機能します。私が望んでいた結果が正確に得られます。それは次のとおりです。
ただし、入力の順序を次のように変更すると
ステップを減らすため、同じ出力が得られません。出力は次のようになります。
Location(これは非常に広い正規表現の一致です)が他のすべてのトークンがキャプチャされ、他に何も残っていない場合にのみ評価されるようにする方法があるかどうか疑問に思いました。
どんな助けでも大歓迎です。
ありがとう!
編集:提案に従ってタイトルを更新