ファイル内にコンマで区切られた複数の行があります。コンマで区切られた値をリストに追加したいと思います。どうすればいいですか?分割コマンドでリストが表示されます。しかし、これらの値を保持するための配列を維持したいと思います。
For example : Jack,John,Ted
これらの値を保持する配列を作成したいと思います。これどうやってするの?
ほとんどの場合、Tclリストは実際にはニーズに合った正しいデータ構造です。Tclの一般的な誤解は、そのlist
データ構造が従来のリンクリストデータ構造に似ており、そのすべての影響(O(n)アクセス時間など)があることです。実際、Tcllist
は実際にはベクトルであり、要素へのO(1)アクセスと、foreach
コマンドによる効率的な列挙を備えています。それに比べて、Tclarray
は実際にはハッシュテーブルであり、必要なものかもしれませんが、要素を反復処理するか、特定の要素に効率的にアクセスするだけであれば、Tcllist
は完璧です。
要素を反復処理するにはforeach
、前述のようにを使用します。
foreach name $values {
puts $name
}
特定の要素にアクセスするには、を使用しますlindex
。リストは0インデックスであるため、インデックス2はリストの3番目の要素であることに注意してください。
puts [lindex $values 2]