我似乎無法掌握已編譯的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發佈後等待你的一些例子。至少最常見的模式。這將是非常有用的,因爲網上沒有任何東西。到現在爲止,我會堅持使用解釋的變體。 –