-4
I는 GUID 생성하기 위해 다음 함수를 사용
의 함수의 결과를 Сaching :하스켈
import Data.UUID as UV
import Data.UUID.V1 as UV1
generateUUID :: String
generateUUID = UV.toString $ fromJust $ unsafePerformIO UV1.nextUUID
하고 난 메소드를 호출 요소
createWidgetUI element uuid =
WidgetUI { wui_title = ""
, wui_id = uuid
, wui_attr_style = ""
, wui_attr_class = ""
, wui_styles = []
, wui_scripts = []
, wui_contents = []
, wui_children = []
, wui_element = element
}
wuiPanel :: UI WidgetUI
wuiPanel = do
return $ createWidgetUI elem uuid
where
uuid = generateUUID
elem = ContainerUI $ H.div
의 창작
generateUUID
를 사용
wuiPanel
여러 번, 나는 같은 UUID 값을 얻는다! 하지만 다른 UUID 값을 가진 요소를 얻으려면 모든 메소드
wuiPanel
을 호출해야합니다. 나는 그것을 구현하는 방법을 이해할 수 없다.
[UI 모나드] (http://hackage.haskell.org/package/threepenny-gui-0.6.0.6/docs/Graphics-UI-Threepenny-Core.html#g:3)를 사용하고있는 것으로 보입니다. [threepenny 패키지] (http://hackage.haskell.org/package/threepenny-gui-0.6.0.6) - 맞습니까? – ErikR
OP가 무엇을 사용하고 있는지 잘 모르겠습니다. 아마도 맞을 것입니다. – chi
UI 모나드가 threepenny 패키지가 아닙니다! Monad는'data UI a = UI a '라고 쓰여졌습니다. 그리고 Inst Functor, Applicativ, Monad for UI. – QSpider