问题标签 [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 递归

报告:
*Recursion> sumAllDigits [22,33] *** 例外:Recursion.hs:(76,1)-(79,34):函数 sumAllDigits 中的非详尽模式

0 投票
1 回答
117 浏览

haskell - 功能跟踪中的非详尽模式'

报告:

跟踪“F[RF][LF][FF]”45.0 (1.0,0.0,0.0) = 例外:LSystems.hs:(95,4)-(101,61):函数跟踪中的非详尽模式'

预期测试用例:

[((-8.742278e-8,2.0),(-1.3113416e-7,3.0),(1.0,0.0,0.0)),((-4.371139e-8,1.0),(-0.7071068,1.7071068),( 1.0,0.0,0.0)),((-4.371139e-8,1.0),(-8.742278e-8,2.0),(1.0,0.0,0.0)),((-4.371139e-8,1.0),( 0.7071067,1.7071068),(1.0,0.0,0.0)),((0.0,0.0),(-4.371139e-8,1.0),(1.0,0.0,0.0))]

0 投票
1 回答
1007 浏览

haskell - Haskell:非穷举模式 - 检查列表是否升序

我不知道为什么我的功能不起作用。我浏览了所有关于非详尽功能的帖子,但据我所知,我的功能满足了所有可能的选择。

结果:

它适用于一对,但如果这对不上升,则无效。当我遵循我的代码时,它应该只是返回 False。

0 投票
1 回答
918 浏览

list - 如何在 Haskell 中检测列表的结尾?

我正在编写一个使用特定公式来计算 2 个列表的递归函数。但我会简化函数,以便您了解我遇到的问题,因为这里的重点是检测列表的 []。

所以我有以下代码:

我现在的输出

以及我希望拥有的输出

我错过了什么?还是我写的太多了?

0 投票
2 回答
1010 浏览

list - Haskell - 使用列表的函数出现“非详尽模式”错误

我正在尝试在 haskell 中创建一个函数,以了解列表列表中的所有元素是否具有相同的长度。(我在以前的帖子中搜索过答案,但没有一个有效)。

问题是它不起作用:

我真的不明白问题出在哪里。它处理参数是空列表和不是空列表的情况。我错了吗 ?我错过了什么 ?

谢谢你的帮助 :)

0 投票
3 回答
197 浏览

string - 在haskell中实现一个字符串的字符重复特定时间的程序

这是我作业中的一个问题,因此很可能会受到赞赏。

这个学期我正在学习Haskell,我的第一个作业要求我编写一个函数,该函数输入 2 个字符串 (string1string2) 并返回一个由第一个字符串的(重复的)字符组成的字符串,string1 直到一个与创建的长度相同的字符串string2

我只被允许使用Prelude功能length

例如:将 asstring1 "Key"和我的名字"Ahmed"作为string2函数应该返回"KeyKe"

这是我到目前为止所得到的:

我没有直接给它两个字符串,而是给它一个整数值(因为我可以稍后用它代替长度),但这给了我一个运行时错误:

我认为这可能与我的列表用完并变成一个空列表(?)有关。

一点帮助将不胜感激。

0 投票
1 回答
2093 浏览

haskell - Haskell 函数中的非穷举模式与“否则”

我正在使用以下功能:

它适用于我能想到的任何示例,但是当我从较大项目中的其他函数调用它时,在某些情况下我会遇到异常:

上面的定义有问题吗?它是否缺少某些案例?我认为otherwise可以处理任何不属于以前案例的事情。

0 投票
1 回答
124 浏览

haskell - 非穷举模式

鉴于我有以下代码:

resolveAscendingInterval 工作正常,但是当我运行 resolveDescendingInterval 时,我得到:

函数 resolveDescendingInterval 中的非详尽模式

他们的代码和逻辑非常相似,所以我不知道出了什么问题

另一件事:有没有另一种方法可以在没有递归的情况下实现这种行为?

0 投票
2 回答
198 浏览

haskell - `function [] _ = ...; 时模式匹配失败 function _ [] = ...` 语法被省略

尽管disjoint在其保护条件中耗尽了所有可能的模式,但 HaskellPatternMatchFail在运行它时给了我一个错误。

但是,如果我写它没有问题:

如果没有这些额外的行,我会得到一个PatternMatchFail. 如果我要推断在第一种情况下 Haskell 的问题是什么,那就是如果给定一个输入参数的空列表,它的预期参数l@(x:xs) r@(y:ys)已经在调用模式匹配,在这种情况下是非详尽的一个空列表,PatternMatchFail尽管有一个检查完全相同的条件的保护条件,但结果是 a 。它永远无法达到保护条件,因为它首先需要匹配“参数条件”。

然而,那些额外的两行重复性让我有点反感,我只是想知道是否有更简洁的方法来解决这个问题。更一般地说:如果我要使用三个或更多列表作为参数,我绝对不想再写出不相交的 3 次以上来检查空条件,那么在这种情况下我该怎么办?感谢您的时间。