/

解构

解构将一个 lambda 参数拆分为其各个独立组件。例如,一个 可以有多个。

以下类型支持解构:

当满足以下所有条件时,一个值会被解构为 N 个组件:

当 Quarkdown 解构 lambda 参数时,它操作的是各个独立组件,而非元素本身。

示例:.foreach

在此示例中,我们定义一个 Dictionary ,并遍历其被解构为键值对的组件。

示例 1

.var {mydictionary}
    .dictionary
        - a: 1
        - b: 2
        - c: 3

.foreach {.mydictionary}
    key value:
    **.key** has value **.value**

a has value 1

b has value 2

c has value 3

示例:.sorted

在此示例中,我们定义一个 Dictionary ,并使用 .foreach 遍历其被解构的键值对组件,但仅在使用 .sorted 按值排序其条目之后——.sorted 接受一个用于定义排序标准的 lambda。

示例 2

.var {mydictionary}
    .dictionary
        - a: 3
        - b: 1
        - c: 2

.foreach {.mydictionary::sorted by:{name value: .value}}
    name value:
    .name

b

c

a