用户工具

站点工具


语法:tcl语法速查

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
语法:tcl语法速查 [2025/02/20 21:10] – [4.7 string 大小写转换] user01语法:tcl语法速查 [2025/08/28 17:17] (当前版本) – [6.4 产生递进的二进制数] user01
行 468: 行 468:
 </code> </code>
  
 +
 +==== - 产生递进的二进制数 ====
 +
 +<file tcl t3.tcl>
 +for {set i 0} {$i <16} {incr i} {
 +    set hex_str [format "%04b" $i]
 +    puts -nonewline "hex_str = $hex_str"
 +
 +    puts -nonewline "  bit\[3:0\] ="
 +    for {set j 3} {$j >= 0} {incr j -1} {
 +        set idx [expr 3-$j]
 +        set bit_str [string range $hex_str $idx $idx]
 +        puts -nonewline "  $bit_str"
 +    }
 +    puts ""
 +}
 +</file>
 +运行结果:
 +
 +<code>
 +hex_str = 0000  bit[3:0] =  0  0  0  0
 +hex_str = 0001  bit[3:0] =  0  0  0  1
 +hex_str = 0010  bit[3:0] =  0  0  1  0
 +hex_str = 0011  bit[3:0] =  0  0  1  1
 +hex_str = 0100  bit[3:0] =  0  1  0  0
 +hex_str = 0101  bit[3:0] =  0  1  0  1
 +hex_str = 0110  bit[3:0] =  0  1  1  0
 +hex_str = 0111  bit[3:0] =  0  1  1  1
 +hex_str = 1000  bit[3:0] =  1  0  0  0
 +hex_str = 1001  bit[3:0] =  1  0  0  1
 +hex_str = 1010  bit[3:0] =  1  0  1  0
 +hex_str = 1011  bit[3:0] =  1  0  1  1
 +hex_str = 1100  bit[3:0] =  1  1  0  0
 +hex_str = 1101  bit[3:0] =  1  1  0  1
 +hex_str = 1110  bit[3:0] =  1  1  1  0
 +hex_str = 1111  bit[3:0] =  1  1  1  1
 +</code>
  
 ==== - com_number set_bits get_bits ==== ==== - com_number set_bits get_bits ====
行 662: 行 699:
 % llength [concat $a $b $c] % llength [concat $a $b $c]
 6 6
 +
 +
 +# 注意lrange返回的是由first 到last元素组成的数据,如果原来的元素是数组,会被转换成字符串。
 +% foreach i [lrange $c 0 0] { puts $i}
 +1 2
 +% set a [lrange $c 0 0]
 +{1 2}
 +% lindex $a 0; # a只有一个元素,那就是 “1 2”, a已经不是list了。
 +1 2
 </code> </code>
  
行 899: 行 945:
  
  
 +==== - 生成连续数字list ====
 +tcl语言并没有原生类似perl 1..10产生10个连续数字的语法,可以使用类似以下proc的方式产生。
 +
 +<code tcl>
 +proc range {start end} {
 +    set list {}
 +    for {set i $start} {$i <= $end} {incr i} {
 +        lappend list $i
 +    }
 +    return $list
 +}
 +set numbers [range 1 10]  ;# 生成 1 到 10 的列表
 +</code>
  
  
语法/tcl语法速查.1740057059.txt.gz · 最后更改: 2025/02/20 21:10 由 user01

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki