目录
1.列表
列表是Tcl中一种数据结构,是元素的有序集合,元素可以包含任何字符串,如空格、反斜线、换行符等,可以把列表赋值给一个变量、作为参数传给命令、嵌套到其他列表中。
创建、获取列表
通过set命令创建列表,该命令后有两个参数:列表名、列表包含的元素。元素位于一个大括号之内且以空格为界,如果某个元素中包含空格,则将该元素放在大括号或双引号之内。
也可以通过list命令创建列表,list之后直接跟列表元素(下图需要用[]进行命令替换)。
命令concat将多个列表拼接在一起,构成一个新的列表,concat后跟随一个或多个列表。
命令lrepeat通过重复元素集合创建列表,该命令后至少有两个参数:重复次数、重复元素、重复元素...。
列表中可以包含特殊字符,如"$""[]"等,可通过大括号或反斜线置换实现。
命令llength获取列表长度,即列表所包含的元素个数,llength后跟随列表。
命令lindex获取相应的列表元素,有两个参数:列表和索引参数。若索引参数超出列表的索引范围,则返回空字符串。对于嵌套的列表,索引参数可由一个或多个索引值构成,获取子列表中过的元素。
命令lrange用于获取指定范围内的列表元素,有三个参数:列表、索引值1、索引值2。若索引值1=索引值则返回对应元素;若索引值2<索引值1则返回空列表。
命令lassign可以获取列表元素的同时将其分配给指定变量,有一个或多个参数:列表、变量名...。若列表长度大于变量个数则lassign将列表元素分配给对应变量的同时,返回未被分配的列表元素;若列表长度小于变量个数,lassign会给多于变量分配一个空字符。