问题标签 [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.
dictionary - 通过使用 Haskell 中的 Data.Map 获取键值来查找键
几周前我刚开始使用 Haskell,我缺乏想象力来解决这种情况下的功能。
所以我试图在用 Haskell 实现的图中找到一个顶点的前身。
我的图表:
功能successors
:
我目前正在尝试解决的功能:
我需要找到一种通过获取这些顶点的值(后继)来获取键(顶点)的方法。例如 :
但是当我运行那条线时,我 在 lambda 中得到了非详尽的模式。
那是什么,我该如何解决?谢谢!
- 编辑:没关系,我纠正了它,但我还是不太明白哈哈
haskell - 功能中的非详尽模式。创建玫瑰树 Haskell
我正在尝试编写一个函数,将玫瑰树列表与它们的父节点组合在一起,这些父节点是给定玫瑰树的根节点的最高值。例如;
应该返回Rose 4 [Rose 1 [Rose 1 [], Rose 2 []], Rose 3 [], Rose 4 [Rose 10 []]]
我收到一个错误“函数rosesToRose 中的非详尽模式”,我不确定是什么原因造成的。尝试将空列表作为输入进行匹配并得到相同的错误。任何建议,将不胜感激。
我的代码:
haskell - 有效模式的模式匹配失败
我有以下代码:
runhaskell
为了测试,我使用命令运行我的文件,并HELLO PEOPLE
在程序运行后作为用户输入输入。我期待输出:HELLE POEPLO
或类似的东西,因为我的程序仅用于移动元音。我的程序运行良好,直到它尝试运行该stringTogether
方法。具体来说,问题在于模式匹配,我有一个数组:
以及
(Just c:cs) vowels
我希望它匹配但不知何故它似乎不起作用的模式。当我运行代码并输入时,HELLO WORLD
我收到以下错误:
18:1-25: Non-exhaustive patterns in function stringTogether
我使用跟踪模块记录了一些内容,并且在输入stringTogether
函数之前一切看起来都符合预期
我可能忽略了一些非常明显的事情,但我无法理解为什么模式匹配不起作用,我希望有人能够提供帮助。提前致谢!
haskell - Haskell 数据声明:查找二叉树中叶子的总和
这是一棵二叉树,我正在尝试计算叶子的总和
给出了数据声明。
这是我的代码
当我运行程序 sumLeaves t 时,它表明函数 sumLeaves 中存在非穷举模式。我认为问题是程序无法计算,当有一个节点有两个叶子时,但我不知道如何解决它。非常感谢您的帮助。
编辑:test1:
测试2:
测试 2 工作正常,但测试 1 给出错误,当我删除 sum() 时,它给出了一个列表 [13,17,30,10] ,这是正确的列表,但是 >sum ( [13,17,30, 10])在程序中工作。我该如何克服它?
list - 在haskell中切换列表中的每个元素
我必须编写一个函数来切换给定布尔值的列表,例如:
输入 :toggle [True,False,False]
输出:[False,True,True]
这就是我想出的
我不断收到这个错误:
*** Exception: Uebung3.hs:38:1-20: Non-exhaustive patterns in function toggle
这是一个非常基本的问题,我来自 Java,刚刚开始学习 Haskell。
haskell - Haskell 递归中的非详尽模式
我正在尝试编写一个函数,它可以让我知道列表中每个区域之间的距离。该函数distance
将两个区域之间的距离作为Int
一个集合数组提供给我,我想遍历整个列表以总结每个区域与其在列表中的追随者之间的距离。
但我得到了
非穷举模式
错误信息。我忽略了什么?该功能distance
正在正常工作。
scala - 高阶部分函数——在哪里放置@unchecked注解?
我有一段代码,我收到来自 Scala 2.13.4 的“匹配可能并不详尽”的警告,我想用注释抑制该警告。@unchecked
不幸的是,我所有的插入尝试都@unchecked
只是导致了语法错误。
这是原始代码的无情简化版本:
问题:为了抑制警告,我在语法上应该放在@unchecked
调用站点的什么位置?
PS我想压制警告,而不是开始讨论这是否是邪恶的;-)
haskell - 函数 len 中的非详尽模式
我正在编写这个函数 len,它计算 GHCi 中列表的长度。
我试图用[]
作为参数调用该函数,但错误Exception: Non-exhaustive patterns in function len
击中了我。我不是已经在函数定义中包含了空列表案例吗?
haskell - 如何摆脱 Haskell 中的非详尽模式错误?
我对 Haskell 很陌生,所以恐怕我还没有完全理解它是如何工作的。以下方法应该确定矩阵是否是实际矩阵。
例如,isMatrix [[1,2],[3,2]] 应该为真,而 [[1],[3,2]] 应该为假。
现在我收到错误“函数 isMatrix 中的非详尽模式”。我是否缺少某些情况,如果是,我该怎么办?
如果有人可以向我解释,我将不胜感激。
提前致谢!