一.新建List (标识符@)2f
方法1. Create List(推荐使用,比较正式).
方法2. (和Scalar 类似,List变量也可以)使用Set Variable来赋值
.如下图:
运行一下:
二.List的元素的取值 2f
方法1. @{变量名}[index],索引值在大括号外 (常用的方式)
方法2 .${变量名[index]},索引值在大括号内
简记:@外 $内
如下图:
三.List 和 Scalar之间的相互转换
1、List变量转换成Scalar (低级转换)
使用场景:1.对于那些只接收Scalar变量参数的关键字,而你又想传List的全部值的时候或者把List当作Scalar的使用,
例如Fail关键字,他的msg这个参数只能接收Scalar变量。
如果你想用Fail,把f这个变量的值都打出来,如下图把@装换成$即可
运行结果:
但是下面这样写是肯定会报错的(msg这个参数只能接收Scalar变量)。
报错信息为 Keyword 'BuiltIn.Fail' expected 0 to 1 arguments, got 3.
2. Scalar变量转换成List (高级转换)
使用场景:对于返回值是List的关键字,如果你给要赋值的变量写的是Scalar的,它会自动把他变成List的。
还是上面这个例子,创建列表时我们把@{f}改成${f},此时s{f}就装换成了list
注意:高级转换转换限制,针对没被赋值过值的${f}, 系统会默认${f}是@{f}的Scalar形式,
如果${f}被赋值过是什么情况呢?
看一下eg1:报错
这样写的话运行就会报错:Non-existing variable '@{f}'.
那这时候${f}有什么用呢?除了前面介绍的作为Scalar型变量,值是所有元素,还可以根据index(在大括号内)直接获得某个元素。
例如:
运行结果:
eg2 ,虽然系统会默认${f}是@{f}的Scalar形式,但当${f}被赋值过的情况下,无法转化为list,无法改变原有的$变量的值。
看看例子:
${f}的值会是原来的值 4
,
所以,这里要注意,尽量不要让Scalar和List的变量重名,特别是你要用作不同的用途的时候。
一个重要的影响就是会导致下面的List元素获取出现越界的情况。
四. 二维List (以List作为元素的List) 的创建与取值
运行结果:
如果log后面只写${f[1]},那么得到的结果如图: