自定义单位与常量
定义你自己的单位和应用级常量:语法、依赖关系、上限和拒绝规则。
两个设置可以扩展表格能表达的内容:Settings → Units 从现有单位定义新单位(或声明 独立的新原子),Settings → Constants 定义最多 100 个所有表格都可使用的命名值。
本页说明两套系统:命名规则、定义表达式、依赖解析与循环、应用级作用域(两者都不会写入
.nlx 导出),以及每套系统接受或拒绝的确切值。
自定义单位(Settings → Units)
命名
- 1–6 个 ASCII 单词,最多 40 个字符;首词以字母开头。
- 名称必须唯一:与目录或另一个自定义单位冲突会被拒绝。
- 名称的复数形式自动被接受,与目录原子相同。
定义
接受两种定义:
<number> <existing unit expression>——例如2.54 cm——用现有单位定义新单位;- 字面量
new unit,声明一个独立的新原子。
依赖关系与上限
- 依赖关系按声明顺序及声明顺序之外解析——顺序无关紧要。
- 循环是错误。
- 全局上限为 100 个自定义单位。
- 自定义单位是应用级(应用设置),不会保存在
.nlx表格中。 - 在表格中,自定义单位的行为与目录单位相同:数量、换算和运算都如 单位与数量所述。
常量(Settings → Constants)
命名
- 1–6 个 ASCII 单词,最多 40 个字符;首词以字母开头。
- 存在保留类别:系统名称和类别不可覆盖。
表达式
- 表达式按原文保存,最多 256 个字符。
- 结果必须是有限的无量纲标量、百分比,或带单一法定代码的货币数量。
- 常量可以引用其他常量。
依赖关系与上限
- 依赖关系与声明顺序无关:设置一变就重新计算,因此编辑会立即更新所有表格。
- 循环依赖是错误。
- 上限为 100 个常量。
- 常量是应用级的,不会保存在
.nlx中。 - 在表格内,常量不可修改——只能在设置中编辑。
示例
在 Settings → Constants 中声明 PI、Tax 和 Rent 后:
PI × 2 → 6.283185307179586
Tax × 100 → 8 (Tax = 8% = 0.08; in multiplication the
percent scalar returns as an ordinary number)
Rent × 12 → 14400 USD (Rent = 1200 USD)
被拒绝的值
解析为以下任一项的常量行保持不可用:
- 带单位的值(
9.81 m/s²), - 布尔值,
- 日期,
- 赋值,
- 答案令牌标记,
- 混合货币,
- 未知名称,
- 循环。
表格名称与常量
表格中的命名值与设置常量是不同的机制(参见 表格语言)。整数命名值会保留精确形式:
x = 0x1F
x & 1 → 1
x as hex → 0x1F
且 x 不会被 x + 1 这一行修改。