我正在尝试使用renderWithSplices
- http://hackage.haskell.org/package/snap-1.0.0.0/docs/Snap-Snaplet-Heist.html#v:renderWithSplices
获取类型值的惯用方法是什么Splices s
(对于 的第二个参数renderWithSplices
)?
我正在尝试使用renderWithSplices
- http://hackage.haskell.org/package/snap-1.0.0.0/docs/Snap-Snaplet-Heist.html#v:renderWithSplices
获取类型值的惯用方法是什么Splices s
(对于 的第二个参数renderWithSplices
)?
抢劫教程有几个定义Splices
类型的示例。
如果您单击上面Splices
链接到的黑线鳕中的链接,我们会看到它Splices
的定义如下:
type Splices s = MapSyntax Text s
如果您随后单击该MapSyntax
链接,您将转到该map-syntax
包的文档。这是一个小包,定义了一些更方便的语法来创建地图。顶部有一个示例,但一般模式如下:
mySplices = do
k1 ## v1
k2 ## v2
由于前面的定义告诉我们键是文本,我们可以执行以下操作来找出值的类型需要是什么:
someFunc = do
...
renderWithSplices "my-template" mySplices
...
mySplices = do
"foo" ## I.textSplice "bar"
如果你有一个足够新的 GHC(我认为是 7.8 或更高版本),最后一行的下划线将创建一个类型漏洞并导致编译器告诉你该位置的东西应该是什么类型。然后您可以编写该类型的适当内容,并且应该更清楚从那里做什么。