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

haskell - 関数宣言の非網羅的なパターン

次の機能の実装に問題があります。

コンパイラは、網羅的なパターンがないと不平を言っています。私が試してみました

しかし運がない!一般的かどうかにかかわらず、提供できるヘルプに感謝します。

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

haskell - Haskell の再帰を網羅していない

REPORT:
*Recursion> sumAllDigits [22,33] *** 例外: Recursion.hs:(76,1)-(79,34): 関数 sumAllDigits の非網羅的なパターン

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

haskell - Haskell: 非網羅的なパターン - リストが昇順かどうかを確認する

自分の機能が機能しない理由がわかりません。非網羅的な関数に関するすべての投稿を確認しましたが、私の関数は、可能な限りすべての可能なオプションを満たしています。

結果:

1 つのペアに対しては機能しますが、ペアが上昇していない場合は機能しません。コードに従うと、False が返されるはずです。

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

list - Haskell - リストを使用する関数での「網羅的でないパターン」エラー

リストのリスト内のすべての要素が同じ長さであるかどうかを知るために、haskell で関数を作成しようとしています。(以前の投稿で回答を検索しましたが、どれも機能しません)。

問題は、それが機能しないことです:

どこに問題があるのか​​ よくわかりません。パラメータが空のリストである場合とそうでない場合を扱います。私が間違っている ?私は何か見落としてますか ?

ご協力いただきありがとうございます :)

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

string - haskellで文字列の文字を一定回数繰り返すプログラムの実装

これは私の宿題からの質問なので、ヒントをいただければ幸いです。

私は今学期にHaskellstring1を学んでおり、最初の課題では、2 つの文字列 (と ) を入力 し、同じ長さの文字列が作成されるまで、string2最初の文字列の (繰り返される) 文字で構成される文字列を返す関数を作成する必要があります。string1string2

プレリュード機能しか使えないlength

例: asstring1 "Key"と my name"Ahmed"string2関数が返す必要があるものとして取り"KeyKe"ます。

これが私がこれまでに得たものです:

2 つの文字列を直接指定する代わりに、整数値を指定しています (後で長さを代入できるため) が、これにより実行時エラーが発生します。

リストがなくなって空のリスト(?)になる何かがあるのではないかと思います。

少し助けていただければ幸いです。

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

haskell - `otherwise` で機能する Haskell の非網羅的なパターン

私は次の機能を使用しています:

思いつくほぼすべての例で問題なく動作しますが、より大きなプロジェクトの他の関数から呼び出すと、例外が発生する場合があります。

上記の定義に何か問題がありますか? いくつかのケースがありませんか?otherwise以前のケースに当てはまらないものは何でも処理できると思いました。

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

haskell - `function [] _ = ...; の場合、パターン マッチは失敗します。function _ [] = ...` 構文は省略されています

ガード条件で考えられるすべてのパターンを使い果たしdisjointますが、Haskell をPatternMatchFail実行するとエラーが発生します。

ただし、次のように書いても問題ありません。

これらの追加行がなければ、PatternMatchFail. 最初のケースで Haskell の問題が何であるかを推測すると、入力引数に null リストが与えられた場合、期待される引数l@(x:xs) r@(y:ys)がすでにパターンマッチを呼び出しているということです。PatternMatchFailまったく同じ条件をチェックするガード条件があるにもかかわらず、null リストになり、結果は になります。最初に「引数条件」で一致する必要があるため、ガード条件に到達することはできません。

ただし、これらの追加の 2 行は、繰り返しが多いので少し不快であり、これを修正するためのより簡潔な方法があるかどうか疑問に思っていました。より一般的には、引数として 3 つ以上のリストを使用する場合、null 条件をチェックするためだけに 3 回以上ばらばらに書き出すことは絶対にしたくないので、そのような場合はどうすればよいでしょうか? お時間をいただきありがとうございます。