如何从用户输入将项目插入tcl中的列表

如何从用户输入将项目插入tcl中的列表,tcl,Tcl,您好,我是tcl新手,我正在尝试从用户输入向proc中的列表插入元素,并返回列表并在另一个列表中调用它 我已经试过了,我很高兴 puts "Enter list Size" set size [gets stdin] set aList [fillTheList $size] proc fillTheList {arg1 } { set lList {} for {set i 0} {$i <= $arg1} {incr i} { set value [

您好,我是tcl新手,我正在尝试从用户输入向proc中的列表插入元素,并返回列表并在另一个列表中调用它 我已经试过了,我很高兴

puts "Enter list Size"
set size [gets stdin]
set aList [fillTheList $size]

proc fillTheList {arg1 } {
    set lList {} 
    for {set i 0} {$i <= $arg1} {incr i} {
        set value [gets stdin]
        linsert $lList $i int(value)]
        puts "[lindex $lList $i]"
    }
    return $lList
}
试一试

proc fillTheList{arg1}{
集lList{}
对于{set i 0}{$i<$arg1}{incr i}{
puts-非整数行“输入值”
设置值[获取标准输入值]
lappend lList美元价值
卖出[lindex$lList$i]
}
返回$lList
}
puts-nonewline“输入列表大小”
设置大小[gets stdin]
设置列表[FilltList$size]
几点注意:


  • 如果将
    调用的
    中的条件设置为
    $i,则必须在调用前定义proc。只需移动
    set aList[FilltList$size]
    到最后。@glennjackman这是工作,但我得到了这个error@glennjackman无法读取“aList”:执行“set aList[fillTheList$size]”(文件“升序.tcl”第21行)
    linsert
    返回新列表时,没有此类变量。它不会更新列表。
    集合
    命令中缺少一个空格。它不返回列表或数组
    invalid command name "fillTheList"
        while executing
    "fillTheList $size"
        invoked from within
    "set aList [fillTheList $size]"
        (file "ascending.tcl" line 5)
    
    proc fillTheList {arg1 } {
        set lList {} 
        for {set i 0} {$i < $arg1} {incr i} {
            puts -nonewline "Enter value "
            set value [gets stdin]
            lappend lList $value
            puts [lindex $lList $i]
        }
        return $lList
    }
    
    puts -nonewline "Enter list Size "
    set size [gets stdin]
    set aList [fillTheList $size]