私は ML を学んでいます。誰かが網羅的なパターンの意味を説明できますか?
1 に答える
5
失敗しない場合、パターン マッチは網羅的です。つまり、発生する可能性のあるすべてのケースがパターンによってカバーされます。
たとえば、次のパターン マッチは、リストが空の場合をカバーしていないため、網羅的ではありません。
fun sum (x::xs) = x + sum xs
両方のケースがカバーされているため、以下は網羅的です。
fun sum (x::xs) = x + sum xs
| sum [] = 0
一般に、代数データ型のパターン マッチは、デフォルトのケースがあるか、すべてのコンストラクターにケースがあり、各サブパターンの一致が網羅的である場合に限り、網羅的です。
于 2010-11-27T17:02:11.420 に答える