我写了一个带有函数的小语言查找
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}
|]
...或在 .hamlet 文件中:
<h1> for key = #{key}, lang = #{lang}, value = #{getValue lang key}
(假设key
和lang
在范围内)。