自然语言短语
除了符号,Varlig 还能理解一系列日常英文短语。当一行内容用文字表达更易读时,就可以使用它们:分摊账单、计算购物篮里几件商品的价格,或者取食谱用量的四分之三。
本页说明这些短语背后的规则:Varlig 如何读取一行内容、如何用英文单词写出数字和分数,以及短语如何组合。不过,这并不是随意书写的自由文本。完整列表请参阅短语参考。百分比相关的问题请参阅百分比,square root of 16 这类函数的文字写法请参阅文字数学。
Varlig 如何读取短语
笔记中文字和数学混在一起,所以 Varlig 分两步读取每一个计算行:
- 先使用 Varlig 认识的所有短语,把整行作为计算来尝试。如果这一行符合某个短语,你就会得到该短语的结果。
- 只有在第一步失败时,才会把不认识的词语放在一边,计算剩下的部分。
这意味着日常短语单独写成一行就能生效,前面不需要加任何东西;而夹杂了几个多余词语的行,也照样能算出结果:
two and a half hours in minutes 结果为 150 min$62 with 18% tip 结果为 $73.16a third of £90 结果为 £30.005 个苹果 + 3 个橙子 结果为 8如果你喜欢那种读法,仍然可以用 what is 或 calculate 作为一行的开头。Varlig 对 what is a third of £90 和 a third of £90 的处理方式相同。
在短语前后加一点简短的描述没有问题:Varlig 会把短语前后的几个普通词语放在一边,所以 外套 £45 with 20% VAT 和 £45 with 20% VAT 含税 仍然会加上增值税,65 kg in pounds 给团队看 也照样会换算。如果描述较长,或者想确保无误,请把描述写成标签或注释:
外套 £45 with 20% VAT 结果为 £54.00£45 with 20% VAT 含税 结果为 £54.0065 kg in pounds 给团队看 结果为 143.3004704202 lb外套: £45 with 20% VAT 结果为 £54.00£45 with 20% VAT # 给小林买的新冬衣 结果为 £54.00已经点明所计数对象的短语(如 split £90 among 3 friends)必须在那里结束:请添加注释,而不要在名词后面继续写词语。
注释和标签请参阅编写计算行。
用单词写数字
整数可以用英文单词写出,加不加 and 和连字符都可以:
twelve hundred 结果为 1,200one hundred and twenty 结果为 120twenty-five plus five 结果为 30对于小数,先说 point,再逐个说出每一位数字。one point two five 是 1.25;one point twenty five 则不被接受。
three point one four 结果为 3.14one point two five times four 结果为 5分数
口语中的分数可以与 of 搭配使用,也可以作为带分数放在单位前面:
three quarters of 200 结果为 150two thirds of 450 g 结果为 300 ga quarter of 200 结果为 50third of 90 结果为 30two and three quarters hours 结果为 2.75 hours分母可以是 half、third、quarter(或 fourth)、fifth、sixth、seventh、eighth、ninth 和 tenth,以及它们的复数形式,如 thirds 和 halves。开头的 a 可以省略,所以 quarter of 100 是 25,而 third of March 仍然是日期。分数保持精确,所以 one third times three 恰好是 1,而不是 0.9999999999。
几分之几小时可以照着口语来写,结果以小时和分钟显示:
half an hour + 20 min 结果为 50 minquarter of an hour 结果为 15 minan hour and a half 结果为 1 hour 30 min用单词进行运算
使用 plus、minus、times、multiplied by 和 divided by,可以与数字和符号随意混用。遵循通常的运算顺序:先乘除,后加减。要改变分组,请使用括号。
fifty times twenty plus ten 结果为 1,010twenty divided by five plus two multiplied by three 结果为 10(two plus three) times four 结果为 20seven times £8.50 结果为 £59.50购物:商品、折扣、税费与小费
N items at P each 把数量乘以单价。可以用任何适合所购物品的词代替 items,如 tickets、coffees 或 bottles;如果读起来更顺,也可以省略 each,或者写成 @。after P% discount 和 with P% off 从前面的金额中减去一定百分比,with P% tax、with P% VAT、with P% GST 或 with P% tip 则加上一定百分比。不区分大小写,所以 with 20% vat 同样有效。
3 tickets at £12.50 each 结果为 £37.503 coffees @ £2.80 结果为 £8.402 adults at £15 + 3 children at £8 结果为 £54.00£15 each for 4 people 结果为 £60.00£80 after 25% discount 结果为 £60.00£80 with 25% off 结果为 £60.00£45 with 20% VAT 结果为 £54.00$62 with 18% tip 结果为 $73.165 items at $20 each after 15% discount with 8% tax 结果为 $91.80使用 each 时,数量必须是大于或等于 0 的整数。不用 each 时,任何数量都可以,适合按重量或容量出售的东西。单价可以是普通数字,也可以是金额。
2.5 tickets at £4 each 结果为 Unsupported: count must be a non-negative whole number12 gallons at $3.59 结果为 $43.082.5 kg at £4 结果为 £10.00调整从左到右依次应用,每次都作用于当前的结果。两次 10% 的折扣总共减去 19%,而不是 20%;在税后加上的小费,是按含税金额的一定比例计算的:
£50 after 10% discount after 10% discount 结果为 £40.50$84 with 8% tax with 15% tip 结果为 $104.33分摊账单
以下几种写法都可以把总额分给若干人:
split £90 among 3 结果为 £30.00share £90 between 3 结果为 £30.00£90 split among 3 结果为 £30.00£90 between 3 结果为 £30.00£90 split 3 ways 结果为 £30.00你可以在人数后面说明是谁在分摊,让笔记读起来更自然:
split £100 among 3 people 结果为 £33.33share £60 between 4 friends 结果为 £15.00人数必须是整数。分给 0 人会显示 Error: divide by zero。如果总额本身是一个计算式,请用括号把它括起来,以便清楚地表明要分摊的是什么。命名的值同样适用:
split (£60 + £24) among 3 结果为 £28.00账单 = £84人数 = 3split 账单 among 人数 结果为 £28.00短语也可以用在条件中。只有适用的那个分支会被计算:
账单 = £112人数 = 4if 账单 > £100 then split 账单 among 人数 else 账单 结果为 £28.00少于与多于
A less than B 用 B 减去 A,A more than B 则把 A 加到 B 上:
£15 less than £80 结果为 £65.005 less than 20 结果为 15£15 more than £80 结果为 £95.005 more than 20 结果为 25the difference between 告诉你两个金额相差多少,与书写顺序无关,因此答案永远不会是负数:
the difference between £85 and £120 结果为 £35.00换算结果
写在行末的换算作用于整个短语的结果。你可以写 in、to、as、-> 或 →,详见单位与换算:
two and three quarters hours in minutes 结果为 165 minthree quarters of 2 kg in g 结果为 1,500 g货币换算使用欧洲中央银行的每日汇率,因此结果每天都会变化:
split €120 among 4 in USD 结果为 $35.10你的名称优先
如果笔记中某个变量与短语中的某个词同名,以你的变量为准。在这里,share 是一个百分比,所以第二行计算的是 £2,000 的 25%,而不是尝试分摊什么:
share = 25%share of £2,000 结果为 £500.00表示数字的单词也是如此:执行 one = 7 后,one times two 是 14。如果这不是你想要的,请换用其他名称,或者使用该短语的其他写法。
不过,日常名称不会妨碍计数。直接写在复数名称前面的数字表示对该事物计数,所以即使笔记里有自己的 people,也照样可以为另一群人分摊账单:
people = 4split £1480 among 5 people 结果为 £296.00split £1480 among people 结果为 £370.00把指针悬停在第一次分摊中的 people 上,会看到提示“Counts people here, not the variable people = 4.”
这也意味着你可以按自己的思路给事物命名。名称可以借用函数名(如 floor),也可以包含 to、in 或 needed 这样的短语用词,Varlig 都会把它当作你的值来读取:
floor = 12 m²floor * 2 结果为 24 m²paint needed = 12.44 Lpaint needed to 1 dp 结果为 12.4 L有关如何选择名称的更多内容,请参阅名称。
无法理解的内容
有些记法看起来像数学,但并不受支持。Varlig 不会只计算其中一部分而给出误导性的结果,而是显示错误:
2d6 结果为 Unsupported: Dice notation is not supported at "d"10 ± 0.5 结果为 Unsupported: Uncertainty notation is not supported at "±"5 < 4 < 10 结果为 Unsupported: Comparison chains are not supported at "<"; combine separate comparisons with &&每条消息都会用引号标出 Varlig 停下来的那个符号,让你一眼看出该改哪里。
10 +/- 0.5 会给出同样的不确定度错误。要检查范围,请用 && 连接两个比较,如 4 < 5 && 5 < 10。请参阅运算符、比较与条件。
综合运用
下面是一张四人餐厅账单,打折的葡萄酒、服务费和每人应付的金额都用文字算出:
# 外出聚餐主菜 = 4 items at CNY 68 each 结果为 272.00 CNY葡萄酒 = 2 bottles at CNY 168 each after 25% discount 结果为 252.00 CNY账单 = 主菜 + 葡萄酒 结果为 524.00 CNY人数 = 4总额 = 账单 with 10% tip 结果为 576.40 CNYsplit 总额 among 人数 结果为 144.10 CNY每一行读起来都和你大声说出来的一样。修改 人数 或某个价格,每人应付的金额就会随之更新。