2012-05-21 7 views
3

지도에 넣어야하는 좌표 목록이 있습니다. julius에서 목록을 반복 할 수 있습니까? 지금 나는 햄릿에 숨겨진 테이블을 만들고 이상적인 해결책으로 보이지 않는 줄리우스의 테이블에 액세스하고 있습니다. 좀 더 나은 해결책을 제시 할 수 있습니까? 감사.Yesod : Julius에서 haskell 목록을 반복 할 수 있습니까?

편집 : julius가 읽을 수있는 목록의 JSON 문자열을 전달하면 내 문제가 해결되는 것 같습니다.

답변

2

내가 아는 한, julius의 목록을 직접 반복 할 수는 없습니다. 그러나 Javascript 유형의 Monoid 인스턴스를 사용하여 유사한 효과를 얻을 수 있습니다. 예를 들면 : 당신이 일반적으로 줄리어스 블록을 넣어 줄 곳

import Text.Julius 
import Data.Monoid 
rows :: [Int] -> t -> Javascript 
rows xs = mconcat $ map row xs 
    where 
    row x = [julius|v[#{show x}] = #{show x}; 
|] 

은 그럼 당신은 rows xs를 사용할 수 있습니다. 예 : ghci :

> renderJavascript $ rows [1..5]() 
"v[1] = 1;\nv[2] = 2;\nv[3] = 3;\nv[4] = 4;\nv[5] = 5;\n"