0
私はhaskellでXMLファイルを解析するためにフレンドリーチュートリアルtutorial on HXTを開始しました。シンプルなHXT機能でこの問題を解決するにはどうすればよいですか?
このチュートリアルの最初のページでは、xmlファイルからゲストを取得しようとしています。そしてそれには次のような機能があります。
data Guest = Guest {firstName, lastName :: String}
deriving (Show, Eq)
getGuest = deep (isElem >>> hasName "guest") >>>
proc x -> do
fname <- getText <<< getChildren <<< deep (hasName "fname") -< x
lname <- getText <<< getChildren <<< deep (hasName "lname") -< x
returnA -< Guest {firstName = fname, lastName = lname}
しかし、ファイルをインタプリタghci
にロードしようとしました。私はまだ、このエラーが出る:オペレータという事実を指し
Prelude> :l hxt_tuto.hs
hxt_tuto.hs:15:37: parse error on input `->'
Failed, modules loaded: none.
- 表現proc x -> do
中>がパースエラーを持っているが、 私が助けを借りずに多くの変更を試してみました。
getGuest2 = deep (isElem >>> hasName "guest") >>> proc x -> do { fname <- getText <<< getChildren <<< deep (hasName "fname") -< x; lname <- getText <<< getChildren <<< deep (hasName "lname") -< x; returnA -< Guest {firstName = fname, lastName = lname }}
一行にこのすべてを書くように誰もが私が見逃しているものを理解するのを助けることができますか?
返信いただきありがとうございます!
ああ!これらの行で動作します、ありがとう –