对不起我的第一篇哈斯克尔警卫和Co
- 一个。输入一个整数值;
- b。如果输入数量小于零,则输出负值;
- c.outputs如果输入数字恰好为零,则为零;
- d。如果输入数字大于零,则输出自然数。
有人可以帮我。我究竟做错了什么?
snum :: Int->String
snum x
| x > 0 = "Natural"
| x == 0 = "Zero"
| otherwise = "Negative"
,为什么我认为,“因为哈斯克尔这样告诉我;)
SNUM 4或0或(-5)给了我
Ambiguous occurrence `snum'
It could refer to either `Main.snum', defined at snum.hs:2:1
or `Prelude.snum', imported from Prelude
没有人可以帮助你,因为没有办法知道你做错了什么。 http://sscce.org/ – Marcin 2012-04-03 11:39:11
@igrec:请更好地解释你自己。那段代码的问题究竟是什么?我试着回答你,但这只是一个猜测,因为如果你不告诉我们,我真的不知道你对这段代码有什么期望:) – 2012-04-03 11:47:55
@igrec你为什么认为你做错了什么?你做了一些事情,你会期望发生一些事情,但相反,其他事情会发生。你需要告诉我们所有三条信息。 – dave4420 2012-04-03 11:49:49