IC后端(五)TCL语言(2)

1.List

1.1定义

  • 列表就是一堆东西的有序集合;数字、单词、字符串或其他列表。甚至Tcl中的命令也只是列表,其中的第一个列表条目是proc的名称,列表的后续成员是proc的参数。
    在这里插入图片描述

  • list 直接定义列表
  • split 用于按特殊字符将list 分隔开来
  • 定义proc 时 名称与{ 之间必须有空格
  • list 的索引是从0 开始到n-1的
  • lindex命令访问单个列表成员

1.2 命令

在这里插入图片描述

1.2.1 concat

将参数连接到一个列表中。它还消除了参数中的前导和后导空格,并在它们之间添加了单个分隔符空格。concat的参数可以是单个元素,也可以是列表。如果一个参数已经是一个列表,那么该列表的内容将与其他参数连接起来。

1.2.2 lappend

添加到list末尾

1.2.3 linsert

插入到规定位置 2 (代表索引为2的位置)

1.2.4 lreplace

替换规定位置内的list 3 6(代表索引3-6)

在这里插入图片描述

1.2.5 llength

元素个数

1.2.6 lrange

return索引范围内的list

1.2.7 lsearch

类似正则表达式的查找

1.2.8 lsort

排序

1.3 subcommand

Modifying Strings - tolower, toupper, trim, format

2.Arrays

3.Flow

3.1 if命令

在这里插入图片描述

3.2 循环命令

3.2.1 while命令

set x 1

# This is a normal way to write a Tcl while loop.

while {$x < 5} {
    puts "x is $x"
    set x [expr {$x + 1}]
}

puts "exited first loop with X equal to $x\n"
********************************************
输出:
x is 1
x is 2
x is 3
x is 4
exited first loop with X equal to 5

********************************************

3.2.2 switch命令

# Name polygons, based on the number of edges.

set edge_count 3

switch $edge_count {
    0 -
    1 -
    2 {
        puts "Not a polygon."
    }
    3 {
        puts "This is a triangle."
    }
    4 {
        puts "This is a quadrilateral."
    }
    5 {
        puts "This is a pentagon."
    }
    default {
        puts "Unknown polygon."
    }
}

*******************************************
输出:This is a triangle.
*******************************************

3.2.3 for命令

for {set i 0} {$i < 10} {incr i} {
    puts "I inside first loop: $i"
}

for {set i 3} {$i < 2} {incr i} {
    puts "I inside second loop: $i"
}

puts "Start"
set i 0
while {$i < 10} {
    puts "I inside third loop: $i"
    incr i
    puts "I after incr: $i"
}

set i 0
incr i
# This is equivalent to:
set i [expr {$i + 1}]

***************************************************
输出:
I inside first loop: 0
I inside first loop: 1
I inside first loop: 2
I inside first loop: 3
I inside first loop: 4
I inside first loop: 5
I inside first loop: 6
I inside first loop: 7
I inside first loop: 8
I inside first loop: 9
Start
I inside third loop: 0
I after incr: 1
I inside third loop: 1
I after incr: 2
I inside third loop: 2
I after incr: 3
I inside third loop: 3
I after incr: 4
I inside third loop: 4
I after incr: 5
I inside third loop: 5
I after incr: 6
I inside third loop: 6
I after incr: 7
I inside third loop: 7
I after incr: 8
I inside third loop: 8
I after incr: 9
I inside third loop: 9
I after incr: 10

***************************************************

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想前

看客 多少意思意思

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值