zoukankan      html  css  js  c++  java
  • TCL数组

    数组是一组使用索引对应元素的排列方式。常规数组的语法如下所示。

    set ArrayName(Index) value

    用于创建简单数组的例子,如下所示。

    #!/usr/bin/tclsh
    
    set languages(0) Tcl
    set languages(1) "C Language"
    puts $languages(0)
    puts $languages(1)

    当上述代码被执行时,它会产生以下结果。

    Tcl
    C Language

    数组大小

    用于计算数组大小的语法,如下所示。

    [array size variablename]

    用于打印数组的大小的示例如下所示。

    #!/usr/bin/tclsh
    
    set languages(0) Tcl
    set languages(1) "C Language"
    puts  [array size languages]

    当上述代码被执行时,它会产生以下结果。

    2

    数组迭代

    虽然数组索引可以是非连续的,像索引1,然后索引10等指定的值。但是如果它们是连续的,我们可以用数组迭代访问数组的元素。一个简单的数组迭代的打印元素,如下所示。

    #!/usr/bin/tclsh
    
    set languages(0) Tcl
    set languages(1) "C Language"
    for { set index 0 }  { $index < [array size languages] }  { incr index } {
          puts "languages($index) : $languages($index)"
    }

    当上述代码被执行时,它会产生以下结果。

    languages(0) : Tcl
    languages(1) : C Language

    关联数组

    在TCL,所有数组本质是相关联的。数组存储并没有任何具体的顺序进行检索。关联数组使用索引但不一定都是数字。一个简单的例子,关联数组与非数字索引如下所示。

    #!/usr/bin/tclsh
    
    set personA(Name) "Dave"
    set personA(Age) 14
    puts  $personA(Name)
    puts  $personA(Age)

    当上述代码被执行时,它会产生以下结果。

    Dave
    14

    数组的索引

    用于检索数组索引的语法如下所示。

    [array names variablename]

    用于打印数组的大小的示例如下所示。

    #!/usr/bin/tclsh
    
    set personA(Name) "Dave"
    set personA(Age) 14
    puts [array names personA]

    当上述代码被执行时,它会产生以下结果。

    Age Name

    关联数组迭代

    可以使用数组的索引来遍历数组。如下例子所示。

    #!/usr/bin/tclsh
    
    set personA(Name) "Dave"
    set personA(Age) 14
    foreach index [array names personA] {
       puts "personA($index): $personA($index)"
    }

    当上述代码被执行时,它会产生以下结果。

    personA(Age): 14
    personA(Name): Dave
  • 相关阅读:
    HTML5 localStorage and sessionStorage
    WebViewJavascriptBridge-Obj-C和JavaScript互通消息的桥梁
    js控制手机号码中间用星号代替
    无法删除登录名 '***',因为该用户当前正处于登录状态。 (Microsoft SQL Server,错误: 15434)
    在QT中添加LIB的方法
    Android颜色代码
    判断ubuntu是32位还是64位
    Android应用市场App发布
    ubuntu目录结构(转)
    QT调用CHM方法
  • 原文地址:https://www.cnblogs.com/zihanxing/p/6852773.html
Copyright © 2011-2022 走看看