Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 在hamlet文件中调用函数_Function_Haskell_Yesod_Hamlet - Fatal编程技术网

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
在范围内)