繁体   English   中英

解决“'cycleNext' 的方程有不同数量的参数”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM