今天开始在学校学习 haskell,我遇到了函数问题。我不明白为什么它不在范围内。
代码如下:
ff :: [[Char]] -> [[Char]] -> [Char]
ff A B = [[x !! 0, y !! 1] | x <- A, y <- B, (x !! 1) == (y !! 0)]
和错误:
md31.hs:2:4: Not in scope: data constructor `A'
md31.hs:2:6: Not in scope: data constructor `B'
md31.hs:2:38: Not in scope: data constructor `A'
md31.hs:2:46: Not in scope: data constructor `B'
提前致谢 :)
Haskell 中函数参数必须以小写字母开头。
因此,你需要做A
and B
小写(a
and b
) 在你的函数定义中。
如果标识符的第一个字母是大写的,则假定它是数据构造器 http://www.haskell.org/haskellwiki/Constructor.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)