Size: a a a

Elm Lang сообщество разработчиков

2019 March 08

AT

Alexander T in Elm Lang сообщество разработчиков
Немного устаревший туториал, elm 0.18.
источник

0

0_0 in Elm Lang сообщество разработчиков
кто-нибудь знает как на elm вывести рекурсивно дерево элементов (вложенный список), полученное json-ом?
источник

DS

Dmitrii Skurikhin in Elm Lang сообщество разработчиков
Модуль json
источник

DS

Dmitrii Skurikhin in Elm Lang сообщество разработчиков
Jason.Decode
источник

DS

Dmitrii Skurikhin in Elm Lang сообщество разработчиков
Json*
источник

0

0_0 in Elm Lang сообщество разработчиков
А как рендерить?
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Рекурсивно
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Если это прямо граф, то есть вот годная либа: https://package.elm-lang.org/packages/elm-community/graph/latest
источник

0

0_0 in Elm Lang сообщество разработчиков
а как в elm пройтись в цикле по List, в нем вроде нет циклов, и есть?
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
List.map
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
или List.foldr/List.foldl, если надо его свернуть в структуру
источник

R:

Ryner :: () -> IO ❄️ in Elm Lang сообщество разработчиков
0_0
а как в elm пройтись в цикле по List, в нем вроде нет циклов, и есть?
Циклов нет
источник

G

GG in Elm Lang сообщество разработчиков
0_0
кто-нибудь знает как на elm вывести рекурсивно дерево элементов (вложенный список), полученное json-ом?
Надо расправить json рекурсивно, с помощью Decode.lazy
источник

RT

Roman Truschev in Elm Lang сообщество разработчиков
Что бы лучше почувствовать декодеры очень помогло в свое время https://github.com/zwilias/elm-demystify-decoders
источник

0

0_0 in Elm Lang сообщество разработчиков
Спасибо, только все равно не понятно, как рекурсивно обойти массив в elm
источник

G

GG in Elm Lang сообщество разработчиков
0_0
Спасибо, только все равно не понятно, как рекурсивно обойти массив в elm
type Tree
 = Tree
   { name : String
   , nodes : List Tree
   }

view : Tree -> Html msg
view (Tree tree) =
 ul []
   [ li [] [ text tree.name ]
   , li [] [ List.map view tree.nodes ]
   ]
источник

G

GG in Elm Lang сообщество разработчиков
0_0
Спасибо, только все равно не понятно, как рекурсивно обойти массив в elm
у тебя как вообще с  понимаем рекурсии? может стоит сперва разобратся как она работает, чтоб понимать как ее применять?
источник

G

GG in Elm Lang сообщество разработчиков
GG
type Tree
 = Tree
   { name : String
   , nodes : List Tree
   }

view : Tree -> Html msg
view (Tree tree) =
 ul []
   [ li [] [ text tree.name ]
   , li [] [ List.map view tree.nodes ]
   ]
тут тип Tree, совпадает с названием конструктора  Tree, не путай
источник

G

GG in Elm Lang сообщество разработчиков
попробуй сделать
type alias Tree =
   { name : String
   , nodes : List Tree
   }

у тебя компилятор выкинет ошибку, и там будет ссылка с объяснением почему с type alias нельзя построить рекурсивную структуру. почитай, там немного
источник

0

0_0 in Elm Lang сообщество разработчиков
Спасибо, вроде все понятно
источник