2

関数を使用して小さな言語ルックアップを作成しました

getValue :: String -> String -> String
getValue lang key = ( 
    head $
    filter ((== key) . head) langData)
    !! getLangIndex lang

ここで、hamlet ファイル内でこのルックアップ関数を呼び出したいと思います。

これは可能ですか?関数を変更して呼び出し可能にするにはどうすればよいですか?

4

2 に答える 2

3

#{}補間を使用してスコープ内にある任意の Haskell 式を使用できます。関数がToHTMLインスタンスの何かを生成することを確認してください。

于 2016-01-16T15:13:33.177 に答える
0

このようなものが動作するはずです:

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ます)。

于 2016-01-17T14:31:31.833 に答える