2014-02-05 1 views
1

Если у меня есть вектор имя-LST как [ «John», «Мэри», «Ватсон», «Джеймс»],Как повторить список предметов из вектора в икоте?

и я хочу Diplay их как элементы списка, как я могу это сделать с помощью икоты?

что-то вроде

[:ul 
    (for [name name-list] 
    [:li name])] 

возвращает список [Литиевые] между [: ул] вместо того, чтобы просто повторить. Должно быть что-то лучше. Я относительно новичок в икоте, я искал, но ничего не мог найти.

ответ

2

После того, как вы подаете структуру данных икать вы должны получить ожидаемый результат:

(require '[hiccup.core :refer [html]]) 

(def names 
    ["John" "Mary" "Watson" "James"]) 

(html [:ul 
     (for [name names] 
     [:li name])]) 
;=> "<ul><li>John</li><li>Mary</li><li>Watson</li><li>James</li></ul>" 
+0

но возвращает список: ([: Ли «Джон»] [: Ли «Мэри»] [: литий "Watson"] [: li "James"]) будет html преобразование все еще работать? –

+0

'(HTML (для [названия] название [: имя Li]))' => ' "

  • Джон
  • Мэри
  • Уотсон
  • Джеймс
  • "' – ponzao

    +1

    я пытался. оно работает. Икота - самая компактная DSL для clojure, которую я видел :) –

     Смежные вопросы

    • Нет связанных вопросов^_^