Function 在hamlet文件中调用函数
我已经用一个函数编写了一个小的语言查找Function 在hamlet文件中调用函数,function,haskell,yesod,hamlet,Function,Haskell,Yesod,Hamlet,我已经用一个函数编写了一个小的语言查找 getValue :: String -> String -> String getValue lang key = ( head $ filter ((== key) . head) langData) !! getLangIndex lang 现在我想在一个hamlet文件中调用这个查找函数 这可能吗?我必须如何更改函数以使其可调用?您可以使用范围内的任何Haskell表达式,使用{}插值。只需确保您的函数生成的
getValue :: String -> String -> String
getValue lang key = (
head $
filter ((== key) . head) langData)
!! getLangIndex lang
现在我想在一个hamlet文件中调用这个查找函数
这可能吗?我必须如何更改函数以使其可调用?您可以使用范围内的任何Haskell表达式,使用
{}
插值。只需确保您的函数生成的是ToHTML
实例。类似的东西应该可以工作:
myhamlet key lang = [hamlet|
<h1> for key = #{key}, lang = #{lang}, value = #{getValue lang key}
|]
myhamlet key lang=[hamlet|
对于key={key},lang={lang},value={getValue lang key}
|]
。。。或在.hamlet文件中:
<h1> for key = #{key}, lang = #{lang}, value = #{getValue lang key}
for key={key},lang={lang},value={getValue lang key}
(假设key
和lang
在范围内)