UiBot教程:UB语言中的条件分支与循环语句
今天,就跟大家聊聊UB语言中的条件分支和循环语句吧。我们在编写代码时,总少不了要用各种逻辑语句来控制程序的流程。掌握这些东西,你会发现自己在写UiBot流程的时候更加得心应手。
条件分支语句
在编程里,条件分支是让程序根据不同的情况执行不同代码的法宝。UB语言里,最常用的就是 If...Else 语句了。这东西操作起来特别简单直观,下面来看看基本的语法吧:
基本用法
If 条件
语句块1
End If
如果条件成立(也就是返回 True),就执行语句块1。如果条件不成立,那程序就啥也不做,直接往下走。
当然了,如果你想在条件不成立的时候也干点啥,那就得加上 Else:
If 条件
语句块1
Else
语句块2
End If
这个时候,条件成立执行语句块1,不成立执行语句块2,总有一块代码会被执行。
多重条件判断
有时候,咱得判断好几种情况,没问题,UB语言支持 ElseIf:
If 条件1
语句块1
ElseIf 条件2
语句块2
Else
语句块3
End If
这么一来,程序会从上到下依次检查条件,哪个条件满足就执行对应的语句块,遇到第一个满足条件的就停下,不再往下检查。
实例
举个简单的例子:
If Time.Hour() > 18
TracePrint("下班时间")
Else
TracePrint("上班时间")
End If
这个代码段根据当前时间的小时数来判断是上班还是下班时间,然后打印对应的信息。
选择分支语句
当你需要根据某个表达式的结果来执行不同的操作时,用 Select Case 是个不错的选择。它让代码看起来更简洁,也更好维护。
基本用法
Select Case 表达式
Case 表达式1, 表达式2
语句块1
Case 表达式3, 表达式4
语句块2
Case Else
语句块3
End Select
Case Else 是个兜底操作,当前面的所有 Case 都不符合时执行的语句块。
实例
再来个实例吧:
Select Case Time.Month()
Case 1, 3, 5, 7, 8, 10, 12
DayOfMonth = 31
Case 4, 6, 9, 11
DayOfMonth = 30
Case Else
DayOfMonth = 28
End Select
TracePrint(DayOfMonth)
这个例子根据月份来决定天数,并输出结果。是不是简单又直观?
条件循环语句
写代码的时候,很多情况下我们需要让程序重复执行一段代码,直到某个条件满足为止。在UB语言里,Do...Loop 是用来干这事儿的。
前置条件循环
Do While 条件
语句块
Loop
只要条件为真,语句块就会不停地执行。如果条件一开始就不成立,那语句块一次都不会执行。
后置条件循环
Do
语句块
Loop While 条件
这个写法先执行语句块,然后再判断条件是否继续循环。无论条件是否成立,语句块至少会执行一次。
无限循环
Do
语句块
Loop
这个循环没有条件,程序会一直执行语句块,除非你在里面手动跳出循环。
实例
来看看这个循环的例子:
Do Until Time.Hour() > 18
TracePrint("还没有到下班时间")
Delay(1000)
Loop
TracePrint("下班时间到啦")
这个代码段每秒检查一次时间,并输出信息直到时间超过18点。实用又简单,是不是?
计次循环语句:重复一定次数
当你知道要重复多少次的时候,For...Next 就是你的好帮手。它能让你轻松实现固定次数的循环。
基本用法
For 循环变量 = 起始值 To 结束值 Step 步长
语句块
Next
默认的步长是1,你也可以根据需要调整。
实例
来看个实例:
Dim count = 0
For i = 1 To 100
count = count + i
Next
TracePrint(count)
这个循环把1到100的整数相加,并输出结果。是不是挺直观的?
遍历循环语句
遍历循环就是为了遍历数组或字典中的每个元素而设计的,For Each 语句就是干这个的。
基本用法
For Each 循环变量 In 数组或字典
语句块
Next
它会逐一处理集合中的每个元素。
实例
来看一个遍历数组的例子:
Dim days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
Dim count = 0
For Each i In days
count = count + i
Next
TracePrint(count)
这个例子计算数组中所有天数的总和并输出结果。挺实用的吧?
跳出语句
有时候,咱得在循环中提前结束或者跳过某次循环。这时候 Break 和 Continue 就派上用场了。
实例
Dim days = { '一月':31, '二月':28, '三月':31,
'四月':30, '五月':31, '六月':30,
'七月':31, '八月':31, '九月':30,
'十月':31, '十一月':30, '十二月':31 }For Each i, j In days
If j Mod 2 = 0
Continue
End If
TracePrint(i)
Next
这个例子只打印天数为奇数的月份名,遇到偶数天数的月份就跳过。
UB语言的条件分支和循环语句真的是流程控制的利器。无论是简单的条件判断,还是复杂的循环控制,都可以通过这些语句轻松实现。掌握它们,你就能在UiBot中写出更高效、更灵活的自动化流程。
现在市面上有很多RPA社群,但免费的却很少,这里推荐一个免费的交流社群,我也会在里面分享一些干货。
点分享
点收藏
点点赞
点在看