我似乎无法掌握已编译的heist概念。无论如何,网上都没有例子。我将如何去改变从解释到编译的简单代码片段。从解释到编译heist
例如:
listUsersH :: AppHandler()
listUsersH = do
users <- liftIO $ getColList "users"
let userListS = mapSplices userLinkS users
heistLocal (bindSplice "users" userListS) $ render "list-users"
where
userLinkS d = runChildrenWithText [("user",T.pack $ at "uname" d)]
我会怎么做 “runChildren”, “mapSplices” 的简单组合, “bindSplice” 和 “渲染” 编译抢劫?
我明白这个概念是不同的,没有“heistLocal”..但我现在需要回去重新学习如何做基本的事情,比如在“for each”循环中显示一堆记录方式。有人可以澄清这一点,并显示一个简单的例子,像上面的一个,但编译抢劫?
此刻我甚至不知道如何做简单的变量替换编译heist。 举例来说,这样的:
simpleString = "Insert me..."
insertString = heistLocal (bindSplices spl) $ render "tst"
where
spl = [("var", textSplice simpleString)]
请别人帮我的基础知识或指向我的一些例子最小的位置。我确实阅读了快照网站文档。
OK。那么,你会建议现在坚持解释的变体吗?那么,至少在你理清API并稳定它们之前。我仍然无法理解这个概念,说实话...它还没有点击。所以我会在makeSnaplet函数的最开始绑定和处理所有的拼接,对吧? –
您不必一次完成所有操作,但您必须使用addConfig函数来添加所有已编译的拼接。你是否切换取决于你想成为如何出血的边缘。我没有预见到新的api分支会发生更多变化。我的待办事项列表中剩下的唯一东西是添加一个或两个以上的功能。那里的一切都应该相当稳定。在我发布0.13之前,我不会给出具体的代码答案,但如果您打开IRC,我可以指出您正确的方向。 – mightybyte
谢谢mightybyte,我会在0.13发布后等待你的一些例子。至少最常见的模式。这将是非常有用的,因为网上没有任何东西。到现在为止,我会坚持使用解释的变体。 –