跳到主要内容

如果/否则

条件成立时执行一组步骤,不成立时执行另一组。只要成立时跑、不成立就跳过,用 如果

当前模块定义

sys:if程序流程If
标准模块
输入 1 · 输出 0

输入参数

  • 如果conditionBoolean可选

    是否符合指定的条件

    填写 输入或变量

概述

常见场景:用百度搜选中文字时,成功取到文本就搜这段文字,否则打开百度首页。

获取选中的文本
获取成功?
拼接搜索网址
打开搜索页
打开百度首页

用步骤写出来是这样(判断条件用 获取选中的文本是否成功):

选中文字则搜索,否则打开首页
获取选中的文本=> {selectedText}
如果/否则判断条件:{isSelected}
打开网址() $$https://www.baidu.com/s?wd={selectedText}
提示消息已打开搜索
否则
打开网址() https://www.baidu.com

如果/否则

依据条件执行操作
如果
 
是否符合指定的条件

两个模块的区别

在工具箱 流程 分类里可以同时看到这两个模块:

Quicker 提供两个模块:

  • 如果:只有一个分支。条件成立就执行组内步骤,不成立就跳过。
  • 如果/否则:两个分支。成立走第一组,不成立走第二组。

「如果/否则」覆盖了「如果」的能力。单独提供「如果」,主要是少占步骤列表空间。两个模块可以在步骤列表里右键互转:

右键「如果」→ 增加「否则」;再右键 → 隐藏「否则」变回「如果」。悬停可暂停。
如果判断条件:true
如果

将步骤添加到分支

从模块工具箱拖到「如果」或「否则」分支的槽里松开。悬停可暂停演示。

参数说明

如果:要判断的条件。可以选布尔变量,或以 $= 开头写表达式。值为真时走「如果」分支。

用变量指定

如果 里直接选布尔变量。这些值通常来自其它模块的输出,例如 获取选中的文本是否成功

如果/否则

依据条件执行操作
如果
isSelected
是否符合指定的条件

获取选中的文本

获取选中的文字
是否成功
isSelected
是否成功获取了文本
内容
selectedText
将获得的文本写入到变量

用表达式指定

在参数框里以 $= 开头写判断条件。更完整的写法见 表达式

布尔表达式助手

需要写表达式时,可点输入框后面的铅笔图标,打开布尔表达式助手。

常用判断语句

数字

判断表达式
等于$= {数字变量} == 3
不等于$= {数字变量} != 3
大于$= {数字变量} > 3
大于等于$= {数字变量} >= 0
小于$= {数字变量} < 0
在两个值之间$= {数字变量} >= 0 && {数字变量} <= 100

文本

判断表达式
为空$= {文本变量} == ""
$= String.IsNullOrEmpty({文本变量})
不为空$= {文本变量} != ""
$= !String.IsNullOrEmpty({文本变量})
等于指定内容$= {文本变量} == "值"
包含指定内容$= {文本变量}.Contains("值")
长度大于某个值$= {文本变量}.Length > 10

布尔

判断表达式
条件为假$= !{布尔变量}
$= {布尔变量} == false

组合多个条件

关系表达式含义
并且(AND)$= 条件1 && 条件2 && 条件3全部同时成立
或者(OR)$= 条件1 || 条件2 || 条件3任意一个成立
取反$= !条件条件不成立
括号分组$= (条件1 && 条件2) || (条件3 && 条件4)先算括号内,再组合
对组合取反$= !(条件1 && 条件2)两个条件中任一不成立,等价于 $= !条件1 || !条件2

输出

本模块没有输出参数。成立与否只决定走哪一组步骤。

多分支写法

类似 switch

按一个变量的不同取值分别执行时,可以用多个连续的「如果」。每个模块负责一个取值。

按选择项分别提示
用户选择{选择的项}
如果如果选择了「百度」
提示消息百度
如果如果选择了「谷歌」
提示消息谷歌
如果如果选择了「有道」
提示消息有道

类似 else if

@治钧分享的方法:用「重复 1 次」包住多个「如果」。命中后用 跳出循环 离开,最后一组相当于 else。

重复 1 次模拟 else if
重复重复1次,循环间隔: 1ms,中止条件:
如果判断条件:$= {条件} == 1
提示消息一些步骤
跳出循环(break)
如果判断条件:$= {条件} == 2
提示消息一些步骤
跳出循环(break)
提示消息不满足所有条件情况下的一些步骤

要点:

  1. 重复次数1
  2. 每个分支放进一个「如果」模块。
  3. 这些「如果」并排放进「重复」里。
  4. 所有「如果」后面放 else 部分;前面分支命中并 break 后不会跑到这里。
  5. 每个分支命中后用「跳出循环」离开「重复」。

限制与排障

  • 如果 需要布尔结果。文本、数字请先写成表达式(如 $= {文本} != ""),不要直接拿非布尔变量当条件。
  • 表达式必须以 $= 开头,否则会当成普通文本。
  • 空结果不一定等于失败。例如获取选中文本失败时,把 是否成功 交给本模块判断。
  • 「获取选中的文本」默认失败后中止动作;要走到「否则」分支时,请关掉该步骤的 失败后停止

相关链接

更新于