错误、诊断与限制
当 Varlig 无法计算某一行时,会在结果的位置显示错误。你可以在下面查找对应的错误信息,了解通常的原因。本页还列出了 Varlig 能识别但不支持的记法,以及防止计算规模过大的各项限制。某一行出错不会影响笔记其余部分的运行。
错误信息
| 信息 | 含义 | 示例 |
|---|---|---|
Error: divide by zero |
除数恰好为零 | 10 / 0, split £90 among 0 |
Error: division without divisor |
赋值的值看起来像网址或带点的名称,后面跟着 / |
链接 = example.com/docs |
Error: imaginary number. For a complex answer, write … |
对负数求实数平方根或对数,或者反函数的参数超出其范围。错误信息会写出应改用的复数形式,例如 sqrt(-4 + 0i) |
sqrt(-4), ln(-1), asin(2) |
Error: incompatible units |
单位不匹配,或者某个值不适用于该运算,例如比较日期或用 [a:b] 切片 |
2 m + 3 kg, [1, 2, 3][0:2] |
Error: unsupported multiplicative unit |
对金额或质量开方、开方后会留下无法整除的单位,或者将温度相乘 | sqrt(£4), sqrt(4 m^3), 2 celsius * 3 m |
Error: unsupported exponent operation |
单位系统无法表示的幂 | 2 m ^ 0.5 |
Error: unsupported unit in rate |
汇率的单位与换算不匹配 | £100 in EUR at 1.17 EUR/USD |
| 无结果 | 没有可显示的内容:未完成的计算、未定义的名称,或者定义行 | x =, 小费(账单, 比例) = 账单 * 比例 |
Error: ∞ |
结果对数字格式而言太大或太小、利率为 0% 的贷款,或者无法获取的历史汇率 | 10^1000, monthly repayment on £12000 over 3 years at 0% |
Error: missing rate: XXX |
没有该货币的汇率,例如汇率尚未加载时 | 100 USD in EUR |
Error: imprecision due to magnitude |
较小的数与极大的数一起运算时会丢失 | 1e100 + 1 |
Error: overflow |
日期或数字超出了 Varlig 能表示的范围 | 1 January 2024 + 100000000 years |
Error: calculation limit |
达到了某项限制;颠倒顺序的写法 5 combinations of 2 也会显示此错误 |
range(1, 2000), factorial(100000) |
Unsupported: Unknown name: … |
在 sum、product、solve、integrate 或某点处的导数中使用了没有值的名称 |
integrate(a*x, x, 0, 1) |
Unsupported: unrecognized calculation … |
Varlig 无法读取该行的某一部分,例如逗号没有按三位一组分隔千位的数字;逗号绝不会被当作小数点 | 12,50, 1,5 |
Unsupported: ambiguous commas in … |
括号内的逗号既可能是千位分隔符,也可能用于分隔各个值。信息会列出两种写法 | max(1,000,2,000), sum(10,100) |
Unsupported: unknown time zone: … |
时区换算中出现了 Varlig 无法识别的地点或时区 | 3:00 pm London in Narnia |
Unsupported: unknown unit: … |
换算一个数,或把它加到日期上时,数字后面的词不是单位;请在单位目录中核对拼写 | 3 bananas in kg, today + 2 sprints |
Unsupported: unknown ingredient: … |
在杯换算成克的计算中,食材的密度未知;请从食材列表中选一个相近的 | 1 cup rice in g |
Unsupported: … needs a rate |
提到了某种税,但没有给出百分比。请加上税率,例如 with 20% VAT,或者在 Settings 中设置销售税 |
£10.50 plus VAT |
Unsupported: dates can't be added |
用 + 连接了两个日期。如需计算两者之间的时间,请将它们相减;或者加上一段时长 |
today + 25 December 2026 |
Unsupported: Function names can't contain spaces |
函数名称由多个词组成。信息会建议改用以下划线连接的同一名称 | 圆 面积(半径) = pi * 半径^2 |
Unsupported: … has no … |
该月没有这个星期几或这一天,因此不会猜测日期 | fifth monday of February 2025, February 30 2025 |
Unsupported: recurring dates: … |
重复的日程,而不是某一个日期。请直接询问你需要的日期,例如 next monday |
every monday, every 2 weeks from 1 October 2026 |
Unsupported: … |
Varlig 能识别但无法执行的内容,例如短语后面多出的词;信息会说明出了什么问题 | split £90 among 2.5 |
不支持的记法
有些记法看起来像数学写法,但并不受支持。Varlig 不会只计算该行的一部分并给出误导性的结果,而是会显示一条具体的信息,并引用问题开始处的符号,例如 at "±"。
| 记法 | 信息 | 替代写法 |
|---|---|---|
10 ± 0.5, 10 +/- 0.5 |
Unsupported: Uncertainty notation is not supported at "±" |
分别计算两端:10 - 0.5、10 + 0.5 |
2d6 |
Unsupported: Dice notation is not supported at "d" |
random(1, 6) + random(1, 6) |
5 < 4 < 10 |
Unsupported: Comparison chains are not supported at "<"; combine separate comparisons with && |
4 < 5 && 5 < 10 |
限制
| 项目 | 限制 |
|---|---|
| 行和笔记的大小 | 每行 64 KiB;每篇笔记 1 MiB、10,000 行 |
| 精确分数 | 分子和分母各自最多 4,096 比特 |
| 小数 | 系数最大为 2^128−1,指数范围为 −128 到 127 |
列表(包括 range) |
1,024 项 |
| 矩阵 | 1 至 32 行、1 至 32 列 |
| 嵌套的列表或矩阵括号 | 16 层 |
| 对计数变量求和或求积 | 10,000 项 |
| 高级运算(矩阵、解方程、微积分) | 共享 100,000 步的预算 |
| 自定义函数的参数 | 32 个 |
| 嵌套函数调用 | 16 层,每个顶层调用最多共 16,384 次调用 |
| 一篇笔记中定义的函数 | 1,024 个 |
| 以公式形式给出的导数 | 8,192 个字符 |
| 方程求解器 | 128 次迭代 |
| 积分 | 2,048 次细化,深度最多 20 层 |
达到限制时,该行会显示 Error: calculation limit。不会显示任何部分结果,笔记的其余部分照常工作。有关函数限制的具体说明,请参阅自定义函数。