Haskell 没有(Num(可能是Size))的实例
我正在编译一个Yesod站点,我正在构建该站点,以确保在出现以下编译器错误时一切正常:Haskell 没有(Num(可能是Size))的实例,haskell,types,Haskell,Types,我正在编译一个Yesod站点,我正在构建该站点,以确保在出现以下编译器错误时一切正常: Foundation.hs:164:15: No instance for (Num (Maybe Size)) arising from the literal `140' Possible fix: add an instance declaration for (Num (Maybe Size)) In the `gSize' field of a record
Foundation.hs:164:15:
No instance for (Num (Maybe Size))
arising from the literal `140'
Possible fix: add an instance declaration for (Num (Maybe Size))
In the `gSize' field of a record
In the expression:
GravatarOptions
{gSize = 140, gDefault = Identicon, gForceDefault = False,
gRating = PG}
In an equation for `gs':
gs
= GravatarOptions
{gSize = 140, gDefault = Identicon, gForceDefault = False,
gRating = PG}
阅读了haddock文档后,我知道gSize采用了一个可能的大小,该大小定义为:
newtype Size = Size Int
如果有帮助的话,这里是有问题的函数
import Yesod.Goodies.Gravatar
import Data.Text
gravatar :: Text -> Text
gravatar email =
gravatarImg email gs
where
gs = GravatarOptions {
gSize = 140
, gDefault = Identicon
, gForceDefault = False
, gRating = PG
}
我不知道从哪里开始寻找解决方案,有人能给我指出正确的方向吗?感谢您的时间和考虑。如果
gSize
是可能大小
,那么您需要使用一个可能
构造函数-您可以对无值使用无
,或对指定值使用仅x
。在代码片段中,它应该是刚好(大小140)
,如中所示
gs = GravatarOptions {
gSize = Just (Size 140)
, gDefault = Identicon
, gForceDefault = False
, gRating = PG
}
如果
gSize
是Maybe Size
,那么您需要使用一个Maybe
构造函数-您可以对无值使用Nothing
,或对指定值使用Just x
。在代码片段中,它应该是刚好(大小140)
,如中所示
gs = GravatarOptions {
gSize = Just (Size 140)
, gDefault = Identicon
, gForceDefault = False
, gRating = PG
}
它说它不能(通过
Num
class)“140”转换为可能大小
。你应该使用gSize=Just(Size 140)
我猜它说它不能(通过Num
类)“140”转换为可能的大小。我想你应该使用gSize=Just(尺寸140)