我正在从程序中的文件中逐行读取一组数据。现在我怎样才能从这个过程中返回这些数据行。以及如何将从此过程输出的这些数据分配给数据集?
proc readdata{} {
set fptr [open Test1.txt r]
set fptr_data [read $fptr]
set data [split $fptr_data "\n"]
}
我怎样才能从这个过程中返回这些数据?
我正在从程序中的文件中逐行读取一组数据。现在我怎样才能从这个过程中返回这些数据行。以及如何将从此过程输出的这些数据分配给数据集?
proc readdata{} {
set fptr [open Test1.txt r]
set fptr_data [read $fptr]
set data [split $fptr_data "\n"]
}
我怎样才能从这个过程中返回这些数据?
您可以使用返回语句:
proc readdata {filename} {
set fptr [open $filename r]
set fptr_data [read $fptr]
set data [split $fptr_data "\n"]
return $data
}
...
set dataset [readdata Test1.txt]
但是,默认情况下,Tcl 过程返回最后运行的命令的结果。就个人而言,我更喜欢明确的return
陈述。
从技术上讲,您不需要做任何其他事情:
调用过程时,过程的返回值是
return
命令中指定的值。如果过程不执行显式return
,则其返回值是过程主体中执行的最后一个命令的值。