条件和变量|Conditions and Variables

你不能在段落变量部分使用插入或修饰符,因此不能编写如下代码:

[if 亲戚 > 10]
大家庭: true
--
你靠在椅背上,开始考虑需要邀请哪些人来参加这次聚会。

相反,有两种方法可以根据条件为变量赋值。首先,可以将变量赋值为比较结果,即真或假:

大家庭: 亲戚 > 10
--
你靠在椅背上,开始考虑需要邀请哪些人来参加这次聚会。

这段文字根据变量亲戚的值,将变量大家庭设置为 truefalse 。然而,除了布尔值之外,您可能还想将变量设置为其他类型的值。为此,请在赋值中添加一个条件:

载具: '汽车'
载具 (里程 > 1000): '飞机' 
--
你需要乘坐{载具}以到达那里。

此示例展示了关于变量部分的两个新特性:

  • 您可以在单个变量部分中多次更改变量。Chapbook 会按照从上到下的顺序更改变量。
  • 如果在冒号(:)之前的括号内写入一个表达式,该表达式用于告诉 Chapbook 要设置的值需要在表达式评估为 true 时才会生效。

首先,交通工具被设置为汽车,然后,如果里程大于 1000,交通工具的值会立即被改为“飞机”。Chapbook 会按顺序处理每个变量赋值,中间不进行其他操作,因此这两个赋值实际上相当于一个操作。

这里有一个更复杂的例子,展示了多个赋值和条件如何协同工作。

语言: '未知语言'
语言 (国家 === '巴西'): '葡萄牙语' 
语言 (国家 === '中国'): '普通话' 
语言 (国家 === '埃塞俄比亚'): '阿姆哈拉语'
语言 (国家 === '俄罗斯'): '俄语'
语言 (国家 === '澳大利亚' || 国家 === '美国'): '英语'
--
{country}的官方语言是{language}。

尽管 Chapbook 会按照你编写的顺序设置变量,但通常这并不重要,因为你通常会编写相互排斥的条件——也就是说,只有一行会实际生效。

1. Truthfully, it is also possible to write [if stringVariable] or [if 2 + 2]. In these cases, any non-empty string (e.g. not '') is treated as true, and any non-zero number is treated as true. It's best to be explicit, however, and write [if stringVariable !== ''] and [if 2 + 2 !== 0].

results matching ""

    No results matching ""