私はHaskellの新人です。Reflex.DomとCSS(Cascading Style Sheets)というライブラリを使ってシンプルなウェブサイトを構築しようとしています。Map Text Text
オブジェクトとして表現されていますが、Haskellは、同一のオブジェクト:PythonやJavaScriptで確かマップテキストテキストオブジェクトの作成方法は?
String
Text
[Char]
、これらは、同一またはほぼ同じ機能および機能は、あるオブジェクトと他のオブジェクトとの間で交換可能に使用することができる。ハスケルではそうではない。ここで
square-01.hs:6:47:
Couldn't match type ‘Text’ with ‘[Char]’
Expected type: String
Actual type: Text
In the second argument of ‘(=:)’, namely ‘pack ("color:red")’
In the second argument of ‘elAttr’, namely
‘("style" =: pack ("color:red"))’
プレリュードから少しですが、私は実際に取得しない約
"style" =: pack("color:red; font-family: Helvetica;")
私は別のスタイル要素を追加した場合、私はエラーメッセージが表示されますが、どのように
"style" =: pack("color:red")
それ。
Prelude Reflex.Dom Data.Text Data.Map> "a" =: pack("b")
fromList [("a","b")]
Prelude Reflex.Dom Data.Text Data.Map> :t "a" =: pack("b")
"a" =: pack("b") :: Map [Char] Text
Prelude Reflex.Dom Data.Text Data.Map> "a" =: "b"
fromList [("a","b")]
Prelude Reflex.Dom Data.Text Data.Map> :t "a" =: "b"
"a" =: "b" :: Map [Char] [Char]
Prelude Reflex.Dom Data.Text Data.Map> :t (=:)
(=:) :: k -> a -> Map k a
'{ - #LANGUAGE OverloadedStrings# - }'をファイルの先頭に追加し、これらのエラーが消えるのを見てください。 – Alec
より一般的に、 '[Char]'と 'String'は同じですが、' Text'は異なります。 – Alec
@Alecそれはすでにそこにある –