UiBot所需的编程基础知识
别担心,编程基础不需要很复杂的背景知识。只要你对任何编程语言有基本的了解,比如知道数据类型、变量、和条件判断等基本概念,就能顺利跟随本文的介绍。UiBot所需的编程基础非常少,容易学,这里会为你详细讲解。
当然,如果你已经有了一定的编程经验,那么这一章节可能对你来说太简单了。
为了便于理解,我们先从一个虚构的Excel表格开始。虽然内容是虚构的,但它能帮助你掌握几个重要的编程概念。
数据
RPA(机器人流程自动化)的工作主要是处理各种数据。那么,什么是数据呢?可以想象一下一个Excel表格,其中的很多格子都填满了内容,这些就是数据。数据是计算机和人之间交换信息的媒介。
实际上,数据可以细分为结构化数据和非结构化数据。表格中这种整齐排列在格子中的就是结构化数据。大多数情况下,我们接触到的数据也是结构化的,所以用这个表格来理解数据就足够了。至于像图片、声音、视频、网页这样的非结构化数据,在这里就不展开讲了。
数据类型
在编程语言中,数据会被划分为不同的类型。UiBot常见的数据类型包括数值型、字符串型、布尔型、空值型、复合型等。初学者只需要掌握复合型以外的几种类型就足够了,复合型将在更高级的教程中讲解。
- 数值型:包括整数和浮点数(即包含小数位的数值),比如表格中的“订单数量”和“销售额”。
- 字符串型:通常是一串文字,以一对双引号(
"
)或单引号('
)包裹,用以示区别。字符串中使用反斜杠(\
)来表示特殊字符,例如:\t
代表制表符,\n
代表换行,\'
代表单引号,\"
代表双引号,\\
代表反斜杠本身。字符串可以换行,也可以使用三个单引号('''
)表示多行字符串。 - 布尔型:只有“真”和“假”两个值,即“True”和“False”。
- 空值型:表示不存在的值,通常为
Null
。
如何区分这些数据类型呢?一般来说,数值型可以进行加减乘除运算;字符串通常只会连接,而没有其他运算;布尔型则用于逻辑运算,如“与、或、非”。
例如,表格中“顾客姓名”一列的数据,不能进行数学运算,所以应为字符串类型,需用引号括起来,如"李鹏晨"
。而“订单号”一列的数据虽是数字,但其加减乘除无实际意义,可以按字符串处理,也可以按数值型处理,根据需要选择。
变量
在Excel表格中,每个数据都保存在一个小格子里,每个格子都有一个固定的名字,比如261.54所在的格子被称为D2。尽管格子里的数据会变,格子的名字D2是不变的。我们只需引用D2,就能获取最新的数据。
在编程中,“变量”就像这些格子一样,是用于存放数据的容器。变量有名字,我们可以通过名字来获取或设置变量中的数据。
在Excel中,格子的名字是“字母+数字”形式,而在编程语言中,变量命名更为灵活,可以是一个长单词,或用下划线连接的多个单词。除了第一个字符外,后面可以使用数字0-9。有些编程语言,包括UiBot支持的语言,可以使用汉字命名变量。建议命名时尽量使用有意义的单词或词组,而不是像D2这样的“代号”。这样有助于代码的可读性。UiBot中,变量名不区分大小写。
UiBot中的变量是动态类型的,定义时无需声明变量类型,变量的值和类型都可以在运行过程中动态改变。这与Python、Lua、JavaScript等脚本语言的习惯一致。
定义变量的方式如下:
Dim 变量名
同时定义变量名并赋值:
Dim 变量名 = 值
定义多个变量:
Dim 变量名1 = 值, 变量名2
或
Dim 变量名1 = 值1, 变量名2 = 值2
定义常量:
Const 常量名 = 值, 常量名 = 值
表达式
在编程中,变量之间或变量与固定数据之间可以进行运算,这种算式称为“表达式”。由于变量的值可能会变化,所以表达式的值也会变化。当程序运行到表达式所在的那一行时,才会根据变量的当前值计算表达式的结果。
例如,x + 2
是一个表达式。当我们不确定x
的值时,也无法确定表达式的值。如果在运行时x
的值为3,那么x + 2
的结果就是5。
需要注意的是,并非所有运算都是有意义的,例如对两个字符串做除法。由于书写表达式时变量的值未定,有时无法立即判断表达式是否有问题。只有在运行到这行时,计算机才会发现表达式有误,无法继续运行,并报错退出。
条件判断
在编写程序时,我们通常会一行一行地写代码,程序也会从上到下顺序执行。然而,这种方式并不够灵活。我们经常需要在运行时判断某个条件,再根据结果决定是否执行某段代码。这就涉及到条件判断语句。
条件判断语句在不同编程语言中有不同的写法,但大致形式类似:
如果 <表达式> 则
语句1
语句2
条件判断结束
其含义是,当程序运行到“如果”这一行时,会计算表达式的值,该值应为布尔类型。根据表达式的值,决定是否运行被“如果”和“条件判断结束”包围的语句,即语句1和语句2。只有当表达式的值为“真”时,才会执行它们,否则跳过。
条件判断在程序中很常见,例如:
发送邮件 如果 发邮件没有成功 则 给用户报告没有成功 条件判断结束
只需确保“如果”行中的表达式在“发邮件没有成功”时为真,在“发邮件成功”时为假,即可实现逻辑。常见的问题是条件判断语句未正确设置表达式。通常,"发送邮件"语句会给一个变量赋值,表明是否成功,只需将变量放入“如果”表达式中即可。
循环
循环语句与条件判断语句形式相似,通常为:
当 <表达式> 的时候循环
语句1
语句2
循环结束
与条件判断语句类似,当运行到“当XXX的时候循环”时,会先计算表达式的值。如果为“假”,则跳过循环,直接执行“循环结束”后的语句。最大的不同是,当表达式为“真”时,会执行语句1和语句2,然后再次回到“当XXX的时候循环”这一行,重新判断表达式的值。
因此,循环语句可以让计算机执行重复性任务。例如:
发送邮件 当 邮件没有发送成功 的时候循环 再尝试发送邮件 循环结束
当邮件未发送成功时,程序会不断尝试,直到成功为止。与条件判断语句类似,循环语句的关键在于设置正确的表达式。如果表达式始终为“真”,程序可能陷入无限循环,即“死循环”,无法继续执行。
结语
这些基础知识是UiBot编程的核心,通过掌握数据类型、变量、表达式、条件判断和循环结构,你将能够轻松上手UiBot的编程工作。在我看来,编程不再是高高在上的技术,而是像搭积木一样有趣的过程。你也会发现,借助这些基本概念,能够创建出功能强大的自动化任务,不断提高工作效率。