KWGT 赛高!

不加任何变化的输出,直接写就行了,比如: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)), "后", 前)$

于是,得到预期结果。其中文字内容你可以根据需求调整,不做赘述。

因为可预期的,这些事件都发生在之前,所以这里只做一种情况的替换即可。不过我没严谨测试,不确定是否在其他时间间隔下显示的文字是否不同。

以上。( 老鼠爱发电