gpt4 book ai didi

haskell - Hamlet 自动访问范围内的变量

转载 作者:行者123 更新时间:2023-12-04 16:55:04 26 4
gpt4 key购买 nike

来自 Yesod Book .

Hamlet automatically has access to the variables in scope when it's called. There is no need to specifically pass variables in.



这是什么深奥魔法?它如何自动知道范围内的变量是什么?

最佳答案

哈姆雷特基于 Template Haskell ;尤其是 quasiquoter (即 [hamlet| ... |] )用于内联模板,拼接(即 $(hamletFile "foo") )用于从文件创建模板。然后使用 Template Haskell 的自省(introspection)功能访问这些变量。

除了允许自动访问变量之外,这还有其他好处:

  • 生成的模板可能比在运行时解析和解释的模板更有效,因为 Hamlet 模板在编译时被编译为常规的 Haskell 代码。
  • 从文件中读取模板时,文件在编译时被解析并嵌入到生成的二进制文件中,因此模板不必在运行时保持在同一位置,并且模板的有效性是静态确保的。

  • 我相信这些优势适用于所有 Shakespeare -家庭模板。 The Haddock documentation有更多关于可用准引用器和接头的信息。

    关于haskell - Hamlet 自动访问范围内的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9092140/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com