这可能是一个初学者的错误,因为这是我第一次“真正”尝试使用Haskell。
我的相关代码片段如下:
import SDL (RendererConfig, RendererType(SoftwareRenderer), defaultRenderer)
defaultRendererType :: RendererType
defaultRendererType = case defaultRenderer of
RendererConfig rt _ -> rt
值得注意的是,ghc并不抱怨
RendererConfig
来源
渲染器配置
看起来它只有两个参数,所以我不确定为什么匹配在case表达式中不起作用。
data RendererConfig = RendererConfig
{ rendererType :: RendererType
-- ^ The renderer's acceleration mode
, rendererTargetTexture :: Bool
-- ^ The renderer supports rendering to texture
} deriving (Data, Eq, Generic, Ord, Read, Show, Typeable)
编辑
我得到的错误消息是:
Main.hs:47:3: error:
Not in scope: data constructor `RendererConfig'
Perhaps you want to add `RendererConfig' to the import list
in the import of `SDL' (app/Main.hs:10:1-97).
|
47 | RendererConfig rt _ -> rt
| ^^^^^^^^^^^^^^