問題タブ [non-exhaustive-patterns]

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

haskell - GHCI で不適切な非網羅的なパターン マッチの警告を回避する

これを重複として却下する前に

少なくとも 2018 年 9 月の時点では、GHCI では警告をローカルで無効にすることはできません(ただし、ファイル全体で無効にすることはできます)。

しかし、すべてのケースが実際に処理されていることを GHCI に知らせる別の方法があるのではないでしょうか?

質問

私が時々使用するイディオムは、最初の定義がいくつかの述語をテストして Left を返す関数を記述し、他の定義は操作が実際に意味をなす引数を考慮することです。それを行うたびに、「パターン一致は網羅的ではありません」というエラーが表示されますが、実際にはすべての条件をチェックしています。

(このおもちゃの例の動機となっている実際のコードについては、たとえばpExprToHExpr hereの定義を参照してください。)

このコード:

次のエラーが生成されます。

他の条件下では、Instrumentタイプを細分化します。

しかし (この架空の物理学では) のセットは、Drumsが含まれている場合、最高のピッチを持つ可能性があるため、 タイプまたはタイプCowbellのいずれにも適合しません。PercussivePitched

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

scala - リターン型封印時の全射性チェック

Scala は、封印された型のパターン マッチが網羅的でない場合に警告できますが、戻り値の型が封印されている場合、関数がすべてのケースを返すことを確認できますか? たとえば、次の ADT を検討してください。

次にf: Foo => String、代数データ型の関数Foo

警告を発する

の次の実装のように、戻り値の型が ADT の場合、同様の非枯渇警告を発生させることは可能ですかf: String => Foo?

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

haskell - 関数呼び出しの前に値を追加すると、「関数内の非網羅的なパターン」エラーが発生する

何を扱っていないのかわからない。整数を文字列に変換する関数があるとします。それを呼び出しますconverter

ここで、位置整数を文字列に変換するには、 を呼び出すだけconverterです。負の整数を文字列に変換する-には、呼び出しに追加しconverterます。

これは私のコードです:

コードを実行して試してみると、次のnegOrPosConverter (ActualInt (-200))エラーが発生します。

理由はありますか?

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

haskell - 「関数内の網羅的でないパターン」を修正する方法

このリストのすべての要素を 3 で乗算する関数にパラメーターとしてリストを渡したいと思います。再帰 (方法はわかっています) とマップ関数 (問題があります) を使用する必要があります。

他の投稿で見たように、リストをパラメーターとして渡そうとしていますが、機能していません。

私が試したコードは次のとおりです: 例外: x: 関数 mult の非網羅的なパターン