yesod-sitemap을 사용하여 사이트 맵 파일을 생성하는 getSitemapR
처리기를 작성하고 있습니다. 문제는 String
을 UTCTime
으로 변환하여 Data.Time.Clock
에 정의 된 것입니다. haddock 설명서는 UTCTime
이 Read
typeclass의 인스턴스라고 말합니다. 그래서 그것은 제가 시도하고있는 것입니다. 여기 내 코드가있다. "나는 용어 '하스켈과 구글을 검색 한,문자열을 UTC 시간 형식으로 변환합니다.
module Handler.Root where
import Import
import Yesod.Goodies.Gravatar
import Data.Time.Format
import System.Locale
-- This is a handler function for the GET request method on the RootR
-- resource pattern. All of your resource patterns are defined in
-- config/routes
--
-- The majority of the code you will write in Yesod lives in these handler
-- functions. You can spread them across multiple files if you are so
-- inclined, or create a single monolithic file.
getRootR :: Handler RepHtml
getRootR = do
defaultLayout $ do
h2id <- lift newIdent
setTitle "Cloudrr homepage"
$(widgetFile "homepage")
gravatar :: Text -> String
gravatar email =
gravatarImg email go
where
go = GravatarOptions {
gSize = Just (Size 140)
, gDefault = Just (Identicon)
, gForceDefault = ForceDefault False
, gRating = Just (PG)
}
getSitemapR :: Handler RepXml
getSitemapR = do
sitemap [smo RootR]
where
smo = SitemapUrl SitemapR{
sitemapLoc = "http://www.cloudrr.me/sitemap.xml"
, sitemapLastMod = (read "2011-11-19 18:28:r52.607875 UTC")::UTCTime
, sitemapChangeFreq = Weekly
, priority = 0.7
}
나는 시스템 프로그래밍에 20 장에 실제 세계 하스켈의 내 사본을 검토 한 결과,하지만이 코드 샘플의에서이 UTCTime
적용되지 않습니다 아무 결과도없이 문자열을 UTCTime " '으로 변환하십시오. 이 Maybe UTCTime
을 가지지 않아서 작동하지 않는 haskell-cafe 메일 링리스트에 다음과 같은 Thread이 있습니다. 나는 여기서 정말로 바보 같은 실수를하고 있다고 생각하지만, 나는 확실하지 않다. 누군가 나를 올바른 방향으로 가리키게 할 수 있겠는가?
시간 내 주셔서 감사드립니다.
'읽기'를 사용하고 있으며 코드가 컴파일되지 않습니까? 아니면 코드가 컴파일되지 않습니까? 네가 어디에서 붙어 있었는지 명확하게 말할 수 있니? – Tarrasch