blazehtml 教程和其他博客文章非常清楚地说明了如何使字符串文字起作用。我明白了。但是我如何将字符串(字节字符串、Data.Text 等也可以使用。)一般来说是元素的属性/内容。 Blazehtml 看起来很棒,但如果没有它,它似乎毫无用处。 =P
这是显示确切问题的示例输出和代码:
{-# LANGUAGE OverloadedStrings #-}
import Prelude
import qualified Prelude as P
import Text.Blaze.Html5
import Text.Blaze.Html5.Attributes
import qualified Text.Blaze.Html5 as H
import qualified Text.Blaze.Html5.Attributes as A
makeLink dest cont = renderHtml $ a ! src dest $ cont
*Main> 让 foo = "foo"
*Main> 让 bar = "bar"
*Main> makeLink foo bar
:1:9:
无法匹配预期类型“AttributeValue”
针对推断类型 `[Char]'
在 `makeLink' 的第一个参数中,即 `foo'
在表达式中:makeLink foo bar
在 `it' 的定义中:it = makeLink foo bar
最佳答案
在文档的这一页中,可以找到必要的功能:http://hackage.haskell.org/packages/archive/blaze-html/0.1.2/doc/html/Text-Blaze.html .
它们是 stringValue::String -> AttributeValue 和 string::String -> Html a。问题解决了!
关于haskell - 如何将字符串(不是字符串文字)放入 blazehtml 属性/元素内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3313056/