Tasker

Tasker 的这些功能,被您「冷落」了吗

2019-01-24  本文已影响676人  blackspot

说明:本篇所罗列的功能会不定期增加,已准备好 8 个本人认为的冷门功能,会陆续分享出来

前言

本篇旨在向 Tasker 用户分享一些鲜为人知的功能,以让更多的人在编写配置时灵活地用上它们。虽然这些功能在 Tasker 用户指南中也有提及,只不过大多 Tasker 用户都未曾了解过它们,我想,当中有些功能或许连 Tasker 高级用户都不大清楚。其实,别小瞧这些冷门功能,通过它们,往往能相当简易地实现我们的需求。

功能列表

~R / !~R

注:仅适用于 5.0+ 版本

有用过条件判断功能的 Tasker 用户都知道,~R / !~R 操作符的匹配类型是正则表达式,也知道它可用于动作的 If 条件以及状态条件「变量值(Variable Value)」中。

从 5.0 版本起,Tasker 新增了一个功能,『凡是可以进行「简单匹配」的地方,只要在表达式前加上 ~R 或 !~R,便会变成正则表达式匹配』。

温馨提示:如果配置需在 5.0 以下版本中使用,应将该功能改由其他方法实现

%evtprm

%evtprm事件(Event)条件触发后传递至「进入(Entry)」任务的局部数组变量,相信很多人都接触过它,但是,要如何快速确定 %evtprm 数组中每个元素的含义呢,我想,应该只有少数人才知道。比如说,当微信通知的事件触发时,你能否快速确定代表通知内容的变量是 %evtprm2 还是 %evtprm3 呢?

在 Tasker 用户指南中有一句话提到,『%evtprm 数组元素的顺序,与事件参数(项)的顺序是一致的』,其意思如下图:

通知事件中,每个 %evtprm 数组元素所对应的事件参数(项)

由此,便可快速知道, %evtprm2%evtprm3 分别代表了通知的标题和内容。

变量引用

以下为变量引用的说明(摘自本人翻译的 Tasker 中文用户指南变量部分)

可以通过将一个或多个额外的 % 符号添加到变量名称的开头来间接引用变量。例如:

      [变量设置, %colour, red]  
      [变量设置, %varname, colour]  
      [弹出提示, %%varname]

... 将显示 red

使用这种表示法,可以分配那些变量名称事先未知的变量:

      [读取文件, variablename.txt, 到变量, %varname]
      [变量设置, %%varname, red]

变量名称存储在文件 variablename.txt 中的变量将设置为 red

您可以根据需要深层嵌套引用(例如,%%%%var),但精神上的压力和错误肯定也会随之而来。

如果(引用)链的任一部分具有无效的变量名称,则都将返回原始引用。在第一个示例中,如果 %varname 设置为 !!!,那么显示的将是 %%varname,而不是 red

获取任务中的局部变量

在动作「测试 Tasker(Test Tasker)」中有个局部变量(Local Variables)的类型,能用来存储正在运行任务中所有(该动作执行前的)已赋值的局部变量,如下动图所示:

获取由「意图接收」条件触发的任务的所有局部变量

本功能可对配置的编写起到一个辅助性的作用,比如,我想知道某个接收意图的 extras 参数的变量名称以用于任务的编写上,便可通过此方法获知(从上动图可知,%newrssi 为意图所带的 extra 参数)。

递归变量

注:以下内容仅为个人经验总结(Tasker 用户指南似乎未提及此功能),若有错误之处,还望各位指出

递归变量(Recurse Variables)是动作「变量设置(Variable Set)」的一个可选参数(如下图所勾选的项目)

它的作用是递归替换所有已赋值的变量,效果如下面的例子所示:

假设变量 %var 设置为 It's %season,变量 %season 设置为 winter
那么 [变量设置, %sentence, %var]
在「递归变量」参数不勾选的情况下,结果会是 It's %season
反之,则为 It's winter

更新日志

其他

作者:sung
邮箱:sdfsung@gmail.com

原创内容,转载请注明出处

上一篇下一篇

猜你喜欢

热点阅读