이전에 파이썬을 사용하여 코딩 한 테이블 (작업 일정)을 만들려고합니다. Clojure 언어에 대한 훌륭한 소개가 될 것입니다.중첩 된 맵 (및 벡터)에서 HTML 테이블 만들기
나는 Clojure (또는 그 문제에있어서의 Lisp)에 대한 경험이 거의 없으며 Google에서의 회진과 많은 시행 착오를했지만이 스타일의 코딩에 대해 머리를 맞지 않는 것처럼 보입니다. 여기
내 샘플 데이터 (미래에 SQLite는 데이터베이스에서 올 것)입니다 :(def smpl2 (ref {"Salaried"
[{"John Doe" ["12:00-20:00" nil nil nil "11:00-19:00"]}
{"Mary Jane" [nil "12:00-20:00" nil nil nil "11:00-19:00"]}]
"Shift Manager"
[{"Peter Simpson" ["12:00-20:00" nil nil nil "11:00-19:00"]}
{"Joe Jones" [nil "12:00-20:00" nil nil nil "11:00-19:00"]}]
"Other"
[{"Super Man" ["07:00-16:00" "07:00-16:00" "07:00-16:00"
"07:00-16:00" "07:00-16:00"]}]}))
그때 doseq에 이동이 원래에 대한 를 사용하여 단계별로 시도하고 있었다 마지막 DOM을 (더 성공적으로 보인다) 및 html 테이블 (내 원래 파이썬 프로그램은 sqlite 데이터베이스에서 COM을 사용하여 Excel 스프레드 시트에 출력)에 내용을 덤핑. 내가 '처럼
섹션 (급여, 관리자 등)와 섹션의 이름으로 테이블을 출력(defn html-doc [title & body]
(html (doctype "xhtml/transitional")
[:html [:head [:title title]] [:body body]]))
(defn create-table []
[:h1 "Schedule"]
[:hr]
[:table (:style "border: 0; width: 90%")
[:th "Name"][:th "Mon"][:th "Tue"][:th "Wed"]
[:th "Thur"][:th "Fri"][:th "Sat"][:th "Sun"]
[:tr
(domap [ct @smpl2]
[:tr [:td (key ct)]
(domap [cl (val ct)]
(domap [c cl]
[:tr [:td (key c)]]))])
]])
(defroutes tstr
(GET "/" ((html-doc "Sample" create-table)))
(ANY "*" 404))
, 난 그냥 느낌 : 여기
내 시도 (만들기 테이블을 FN)입니다 너무 많은 시간을 중첩 시켜서 domap을 악용하는 것은 아마 적절한 열에서 근무 시간을 얻기 위해 더 많은 돔을 추가해야 할 것이고 코드는 그것에 '더러운'느낌을 갖게됩니다.충분한 정보가 포함되어 있지 않은 경우 사전에 사과드립니다. 코딩에 대한 도움을 요청하지 않으며, 제 1의 질문입니다. :)
이 작업을 수행하는 데 더 나은 방법을 알고 있거나 초보자로서 알아야 할 팁이나 트릭을 알고 있다면 분명히 환영받을 것입니다.
감사합니다.
향후 커뮤니티 위키와 같이 답을 묻는 질문을 표시해서는 안됩니다. 이것은 우리의 평판 수집 게임을 망쳐 놓습니다. ;-) –
죄송합니다, 나는 그것이 rep 시스템을 버렸음을 깨닫지 못했습니다. 나는 그저 내 질문이 편집 가능하다는 것을 의미한다고 생각했다. (어쨌든있을 필요는 없다.) (그러나 관계없이 응답 해 주셔서 감사합니다.) 귀하의 게시물에서 많은 것을 배웠습니다. :) – Kenny164
듣기를 기쁘게 생각합니다. :-) –