【问题标题】:Call a function inside a hamlet file在 hamlet 文件中调用函数
【发布时间】:2016-01-16 14:54:24
【问题描述】:
我用函数编写了一个小型语言查找
getValue :: String -> String -> String
getValue lang key = (
head $
filter ((== key) . head) langData)
!! getLangIndex lang
现在我想在一个 hamlet 文件中调用这个查找函数。
这可能吗?我必须如何更改函数以使其可调用?
【问题讨论】:
标签:
function
haskell
yesod
hamlet
【解决方案1】:
您可以使用任何在#{} 插值范围内的 Haskell 表达式。只要确保你的函数产生了 ToHTML 实例。
【解决方案2】:
这样的事情应该可以工作:
myhamlet key lang = [hamlet|
<h1> for key = #{key}, lang = #{lang}, value = #{getValue lang key}
|]
...或在 .hamlet 文件中:
<h1> for key = #{key}, lang = #{lang}, value = #{getValue lang key}
(假设key 和lang 在范围内)。