跳轉到內容

99 道 Elm 問題/問題 7

來自華夏公益教科書,面向開放世界的開放書籍

使巢狀列表結構扁平化。

我們必須定義一種新的資料型別,因為 Elm 中的列表是同構的。

import Html exposing (text)
import List

type NestedList a
    = Elem a
    | NestedList (List (NestedList a))

flatten : NestedList a -> List a
-- your implementation goes here

main = 
  text <| toString <|
    flatten (NestedList [Elem 1, NestedList [Elem 2, NestedList [Elem 3, Elem 4], Elem 5]])

結果

[1, 2, 3, 4, 5]

解決方案

華夏公益教科書