不加任何变化的输出,直接写就行了,比如:123+123
,就原样输出
要进行计算需要用双美元符号包裹,比如:$123+123$
,就输出 246
bi(charging)
这种是函数,bi
表示功能,小括号里的是参数,多个参数的时候用英文逗号分隔,函数会根据功能计算出一个结果。
你的需求在电池类的例子中有:
$if(bi(charging) = 0, "unplugged", "plugged")$ $tf(bi(plugged))$
先解释第一对儿美元符号里的内容:
- 如果
bi(charging)
即当前充电状态,1 表示正在充电,0 表示没有充电,这里判断 =0 - 如果没有充电则显示:
unplugged
,没插充电线,注意,因为这是一个字符串(一串文字),所以要用英文的双引号标记。 - 如果在充电,则显示
plugged
,即插着充电头。这两处文字你可以自己修改
第一对儿美元符号和第二对儿美元符号之间有一个空格,会被直接输出
第二对儿美元符号内就是显示上次充电头插入/拔出的时间距离现在多久。这里的 tf()
是计算时间间隔,小括号里的 plugged
说明是什么时间点(充电头插入状态)。
上述所有拼接起来的结果是:
unplugged 7 分钟 后
我为了写这些内容刚把手机拔下来放在手边参考,所以是 7 分钟以前拔掉了充电头,但上面显示的就有点奇怪呢!这是纯纯翻译的锅。理解为拔了充电头,过了七分钟之后,到了现在。
显然,我实现了你的需求,但是到此为止你并不会满意。于是我们用文字替换再处理一下第二段内容,先看文字替换的示例代码(在文字处理分类):
$tc(reg, "Foobar one", "o+", X)$
这里要说明:这不是传统的文字替换,而是正则替换,注意前面两个 o,被替换成了一个 X。正则表达式部分可以看看这里 正则表达式学习笔记
当然如果不涉及特殊字符,当做一般文字替换用也可以:
$tc(reg, tf(bi(plugged)), "后", 前)$
于是,得到预期结果。其中文字内容你可以根据需求调整,不做赘述。
因为可预期的,这些事件都发生在之前,所以这里只做一种情况的替换即可。不过我没严谨测试,不确定是否在其他时间间隔下显示的文字是否不同。
以上。( 老鼠爱发电 )