これは私には理解できない奇妙な問題です。TCL 8.5 を使用しており、コマンドを使用して CSV ファイルからマトリックスにデータを読み込もうとしていますcsv::read2matrix
。ただし、これを行うたびに、書き込もうとしているマトリックスは無効なコマンドであると表示されます。私がやっていることのスニペット:
package require csv
package require struct::matrix
namespace eval ::iostandards {
namespace export *
}
proc iostandards::parse_stds { io_csv } {
# Create matrix
puts "Creating matrix..."
struct::matrix iostdm
# Add columns
puts "Adding columns to matrix..."
iostdm add columns 6
# Open File
set fid [open $io_csv r]
puts $fid
# Read CSV to matrix
puts "Reading data into matrix..."
csv::read2matrix $fid iostdm {,}
close $fid
}
このコードを TCLSH で実行すると、次のエラーが発生します。
invalid command name "iostdm"
私が知る限り、私のコードは正しいです (名前空間に入れていない場合。試してみましたが、namespace import ::csv::* ::struct::matrix::*
何もしませんでした。
これらのパッケージに欠けているものはありますか? wiki.tcl.tk の Web サイトには、この種のものについては何も言及されておらず、パッケージのすべての man パッケージは、別の名前空間内で呼び出されることについて何も言及していません。