跳转到内容

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]

解决方案

华夏公益教科书