[英]Resolve 'Equations for ‘cycleNext’ have different numbers of arguments'
任何想法如何解决Equations for 'cycleNext' have different numbers of arguments
而不在最后一行添加冗余参数?
cycleNext :: (Eq a, Enum a, Bounded a) => a -> a
cycleNext maxBound = minBound
cycleNext = succ
你不能,参数的数量应该是一样的。 请注意,您的maxBound
将不起作用。 实际上, maxBound
以小写字母开头,因此被视为变量(如果您打开警告,它将警告maxBound
正在遮蔽现有绑定)。
因此,您可以通过以下方式实现:
cycleNext :: (Eq a, Enum a, Bounded a) => a -> a
cycleNext x | x == maxBound = minBound
| otherwise = succ x
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.