定义变量怎么想来也都是个基础到不能再基础的事情了,但其实里面还是有很多门道的。通常说希望脚本可读性要好,变量的可读性好就是脚本可读性好的前提。
innovus中,一般定义一个变量我们就采用以下方式。这种定义变量和变量值有着明确的一对一关系,很清晰明了。
但是有时候我们需要表述出某种多对一的关系的时候又该怎么办呢?比如,某年级a班20人,学号对应1-20,要定义变量清晰表示出该班每个学号对应的学生姓名,年龄,身高。这需要怎么做呢?
首先我们定义学号
其次我们定义a班该学号所对应的学生的信息就好
这个其实就是在定义一个数组了。tcl语法定义:数组索引是由圆括号()来指定的,每个数组元素变量名的格式是“数组名(索引值)”。a代表a班,$i即学号。那么这其实就定了一个数组变量a(1),硬按照语法解读就是定义了一个索引值为1的数组a。其实可以理解成定义了一个变量a1。拿我们这个例子解读其实就是a班学号为1的学生。这个变量的值就是双引号引起来的内容了。因为我们要定义多个数组,每个数组名其实就是1个数字之差,所以会将学号以变量形式定义,每次在定义数组后,会让i自加,下次定义新的数组时,i的值已经更新。我们输出这个变量可以看到,变量值即是xiaomin 12 140也即a班1号学生小明,12岁,身高140。
接着我们继续输入下一个学生的信息。
变量值即是
......
当定义好数组后,我们可以根据我们的需求选择输出我们想要的内容,比如我们想得到每个学号对应学生的姓名。
实际后端项目中,在索引一些特殊内容,按一定坐标规则摆放某些特殊cell,也许会用到这样的思路。当然这也是最基础不过的了。以后用得上自然好,用不上也无所谓么。总之,有所收获总比碌碌无为要好。