haskell - Haskell 错误“数据构造函数不在范围内”
问题描述
我对这个构造函数有疑问:
data Variables = Name Char | Value Int deriving Show
data Tree = Empty| Node Char Tree Tree deriving Show
................
buildTree :: String -> Tree -> [Variables] -> (String,Tree,[Variables])
buildTree (x:y:z:xs) Empty v
|isAlpha x && y == '=' = buildTree xs Empty newvar
.................
where newvar = v ++ (Variables x (digitToInt z))
错误是:数据构造函数不在范围内:变量 :: Char -> Int -> [Variables]
newvar = v ++ (Variables x (digitToInt z))
解决方案
Variables
是一种可以用Name
holdingChar
或Value
holding构造的类型Int
。您可能需要创建该类型Value x
的实例。Variables
除此之外,Variables x (digitToInt z)
根据提供的定义,这似乎是无稽之谈,因为没有Variables
数据构造函数需要 2 个参数。
推荐阅读
- php - WooCommerce:向产品库添加额外的图像
- alpine - 如何为无盘高山安装安装新的内核模块?
- c - 无法使用 scanf 读取多行输入
- javascript - 如何在reactjs material-ui中制作一个使用剩余网格空间的网格项目?
- python - 如何创建动画,点将沿椭圆线移动?
- javascript - Jquery 在 div 上加载链接内容并使用相同的链接内容在 5 秒内不断刷新相同的 div
- python - 无法让python程序扫描用户输入的数字并检查它是否是回文、阿姆斯特朗数和完美数
- dom - puppeter select checkbox in table based on inner text
- mongoose - 当 Mongoose 中的预保存挂钩失败时,如何静默跳过保存文档?
- python - 如何通过实际改组所有元素来改组列表列表?