2010-07-22 12 views
8

blazehtml öğreticisi ve diğer blog yayınları, dize değişmezlerinin nasıl çalışacağını çok net bir şekilde ortaya koyar. Bende var. Ama genel olarak elemanların özniteliklerine/içeriğine dizeler (bytestrings, Data.Text, vb.) De çalışırım. Blazehtml harika görünüyor, ama bu olmadan oldukça işe yaramaz görünüyor. = Pblazehtml özniteliklerine/öğe içeriğine dizeleri (dize değişmezleri) nasıl alır?

burada örnek çıktı ve kod tam sorunu göstermek için var: Bir gerekli fonksiyonları bulur belgelerin Bu sayfada


{-# 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> let foo = "foo" 
*Main> let bar = "bar" 
*Main> makeLink foo bar 

:1:9: 
    Couldn't match expected type `AttributeValue' 
      against inferred type `[Char]' 
    In the first argument of `makeLink', namely `foo' 
    In the expression: makeLink foo bar 
    In the definition of `it': it = makeLink foo bar 

cevap