/

变量

变量让你可以存储并在整个文档中复用值。它们对于避免重复、创建动态内容以及构建可复用组件至关重要。

定义变量

使用 .var {name} {value} 来定义变量。value 是一个动态值 ,意味着它可以是任意类型:文本、数字、布尔值,甚至是像布局这样的复杂元素。

.var {name} {Quarkdown}

访问变量

一旦定义,你可以通过将其作为无参函数来调用,从而访问该变量:

示例 1

.var {name} {Quarkdown}

Hello, **.name**!

Hello, Quarkdown!

重新赋值

你可以随时更新一个变量的值。有两种等价的方式:

示例 2

.var {mynumber} {5}

.mynumber

.mynumber {.mynumber::sum {1}}

.mynumber

5

6

块级变量

正如函数调用语法中所述:

主体参数始终指向签名中的最后一个参数。

这意味着变量的值可以跨越多行,并包含复杂的块级内容,而不仅仅是简单的行内值。这对于存储可复用的布局、带样式的容器,或任何结构化内容都非常有用。

示例 3

.var {myrow}
    .row gap:{2cm}
        A

        B

        C

.container background:{teal} padding:{1cm}
    .myrow

A

B

C

作用域受限的变量

对于只应在有限作用域内存在的临时变量,请参阅 .let 函数。与 .var 不同,后者创建的是文档范围的变量,而 .let 创建的变量只存在于一个 lambda 块内部。