> For the complete documentation index, see [llms.txt](https://raster.gitbook.io/zh-hans_choicescript-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://raster.gitbook.io/zh-hans_choicescript-guide/she-qu-zhi-nan/ji-chu-jiao-cheng/shu-yu-biao.md).

# 术语表

ChoiceScript 需要一些**术语**来帮助理解和传达特定概念。其中大部分是通用编程术语，但有些是 ChoiceScript 独有的，或者因其在 ChoiceScript 中的作用而含义略有不同。虽然并不严格要求您立即掌握所有这些术语的全部含义（这需要时间），但建议你现在至少通读一遍，以便尽可能多地吸收。

## 命令

> Commands

这些是固定的词语，以星号（`*`）为前缀，例如 `*this`，作者使用它们向 ChoiceScript 提供特定指令。常见的命令包括 `*choice`、`*goto`、`*label` 和 `*set`。

## 数据类型

> Data Type

每个 ChoiceScript 变量使用三种不同的数据类型（布尔型、数值型或字符串型）之一，每种类型存储不同类别的信息，即游戏数据。

### 布尔变量

> Boolean variable

布尔变量是一个简单的“二进制开关”，可以设置为 *true* 或 *false*（不是设置为 *"true"* 或 *"false"*，那样会使其成为字符串变量）。

### 数值变量

> Numeric variable

数值变量是指数据类型被设定为实际数字的变量。

### 字符串变量

> String variable

由任意字母与数字组成的变量，是数据类型被设定为字符串的变量，并通过引号（例如`"像这样"`）与其他数据类型区分开来。

## 层级结构

> Hierarchy

该术语用于描述程序的实际布局——在我们这里指的是脚本结构。当层级结构正确设置时，程序脚本将按预期运行；否则会产生错误并导致游戏崩溃。层级结构通过简单的**缩进**来控制。

### 缩进

> Indentation

在行首添加空格（或制表符），逐行累积形成脚本层级结构。缩进按**层级**进行使用和指代。

### 缩进层级

> Indentation Level

一个缩进层级指用于形成单次缩进的任意空格或制表符组合。使用“层级”这一术语是为了避免与具体的空格或制表符数量混淆，因为具体数量属于个人偏好设置。更多信息请参阅[缩进指南](https://choicescriptdev.fandom.com/wiki/Indentation:_Howto%26Tips)。

## 脚本编写

\>Scripting

简单编程的术语，本质上是指使用一组固定的 `*命令` 和特定的脚本层级结构。

## 属性

> Stat

属性值是一种特殊类型的变量，玩家通常通过[属性界面](https://choicescriptdev.fandom.com/wiki/Stats%26Stats_Screen)来了解其数值。属性值在功能上与其他变量并无差异。

## 变量

> Variable

\[\[变量类型|变量]]是 ChoiceScript 存储游戏信息（也称为游戏数据）的手段，无论是用于短期临时目的还是长期永久目的（这是一个重要的区别）。每个变量包含三种可能的数据类型中的一种。当我们要在故事脚本中要使用这些存储数据时，就要用到变量的名称，因此变量的名称必须是唯一的。

## 变量名占位符

> Var

Var 只是在本 Wiki 中用作“变量名”的占位符，以创建中立且不易混淆的示例。例如：如果被告知`*set variable + 5`，您可能不会意识到 `variable` 应该被替换为实际您需要的变量名。同样，如果被告知`*set [variable] + 5`，您或许明白应该替换变量名，但可能不会注意到方括号也应该被一并替换删除。然而，如果被告知`*set var + 5`，您应该立即就能就知道 `var` 应该被替换为您想要更改的任何变量名，因为您现在意识到 `var` 只是一个占位符。请注意，当 Wiki 示例中使用大量变量时，var 将会被写为 var#（var1、var2、var3等）。
