私はTclに次のようなリストを持っています:
set list1 {0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9}
リストのインデックスに基づいて要素を取得するにはどうすればよいですか? 例えば:
このリストの 2 番目の要素を取得したいですか? またはこのリストの6番目のもの?
分割してループするだけですか?
foreach n [split $list1 ","] {
puts [string trim $n] ;# Trim to remove the extra space after the comma
}
[split $list1 ","]
を含むリストを返します0x1 { 0x2} { 0x3} { 0x4} { 0x5} { 0x6} { 0x7} { 0x8} { 0x9}
ループはリストのforeach
各要素を繰り返し処理し、現在の要素を に割り当て$n
ます。
[string trim $n]
次に、末尾のスペース (ある場合) を削除し、結果を出力します。
編集:
リストのn番目の要素を取得するには、次のlindex
関数を使用します。
% puts [lindex $list1 1]
0x2
% puts [lindex $list1 5]
0x6
インデックスは 0 ベースなので、リストからプルする必要があるインデックスから 1 を削除する必要があります。