• 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
  • 相关阅读:
    Unity3D中的Attribute详解(二)
    Unity3D中的Attribute详解(三)
    利用TortoiseGit对Coding项目进行版本管理
    access 标准表达式中数据类型不匹配 (20091204 15:14:40)
    发布网站失败,提示一个用户控件同时存在于C盘的两个dll中
    取出被正则表达式匹配的值
    Asp.net(C#)数据绑定格式化(转)
    一个关于 asp.net 的简单问题
    ckeditor + ckfinder 上传图片的配置
    [原]可定义的英文小日历
  • 原文地址:https://www.cnblogs.com/zihanxing/p/6852773.html
Copyright © 2020-2023  润新知