L lappend
lindex
linsert
list
llength
lrange
lreplace
lsort


lappend [lappend]

リスト要素を追加します。

set List_a {a b c de f}
lappend List_a g h

とすると、List_a は

a b c de f g h

となります。すでにあるリストの後ろに新たな要素が追加されます。

2003.6.10(火) 03:05:12[編集]



lindex [lindex]

リスト中の指定した要素を返します。

set List_a {ab cde fg hijk l}
message [lindex $List_a 2]

とすると、

fg

と表示されます。2 で指定されたインデックスの要素を取り出すということです。
要素のインデックスは、0から数えるので、2だと、3番目ということになります。

2003.6.10(火) 12:43:09[編集]



linsert [linsert]

リスト中の指定した位置に要素を追加した新しいリストを返します。

set List_a {ab cde fg hijk l}
message [linsert $List_a 1 m n]

とすると、

ab m n cde fg hijk l

と表示されます。1 で指定された要素の前に、新たな要素を追加することになります。
lappend の場合は元のリストList_a そのものに要素を追加しますが、
linsert の場合は、要素が追加された新たなリストを作り、元の List_a リストの内容は変更されません。

2003.6.10(火) 12:44:26[編集]



list [list]

新たなリストを作ります。

set n_list [list a b c d e]

とすると、n_list

a b c d e

が代入されます。

set n_list {a b c d e}

とするのと、どう違うのかは、よくわかりません(^^;;)。
要素リストになっているリストも作れます。

set n_list [list a {b c} d {e f}]

とすると、n_list

a {b c} d {e f}

が代入されます。似たコマンドですが、concat コマンドの場合は

set n_list [concat a {b c} d {e f}]

とすると、リスト形式の要素は分解されて、

a b c d e f

となります。
2003.6.10(火) 12:45:17[編集]



llength [llength]

リスト要素の数を返します。

set list_1 [list a b c d e f]
message [llength $list_1]

を実行すると、

6

と表示されます。

2003.6.10(火) 12:45:58[編集]



lrange [lrange]

リストの指定した範囲の要素を返します。

set list_1 [list a b c d e f g]
set list_2 [lrange $list_1 1 3]

を実行すると、list_2 に

b c d

が代入されます。list_1 の1番目から3番目までの要素を返すということになります。
一番最初のは0番目と数えるので、頭から途中までを取り出す場合は、0 と終わりのインデックスを指定すればいいですが、
途中から終わりまでが必要な場合は、終わりのインデックスを end とすればいいようです。

lrange を実行しても、元のリストは変更されません。

2003.6.10(火) 12:46:33[編集]



lreplace [lreplace]

リストの指定した範囲を入れ替えた、新しいリストを作ります。

set list_1 [list a b c d e f g]
set list_2 [lreplace $list_1 2 4 fac1 fac2]

を実行すると、list_2 に

a b fac1 fac2 f g

が代入されます。これは、list_1 の要素の(最初を0として、)2番目から4番目までの要素を fac1 fac2 と入れ替えたものになります。
3番目から、最後までの要素を入れ替えたい場合は、3 end と指定します。lreplace を実行しても、元のlist_1 は変更されません。

2003.6.10(火) 12:47:03[編集]



lsort [lsort]

リスト中の要素の順番をソートした、新しいリストを返します。

set list_1 [list f d a j c b]
set list_2 [lsort $list_1]

を実行すると、list_2 に

a b c d f j

が代入されます。オプションも使えます。

lsort -ascii
文字列としてソートします。
 
lsort -integer
整数としてソートします。
 
lsort -real
実数としてソートします。
 
lsort -increasing
昇順にソートします。
 
lsort -decreasing
降順にソートします。
オプションを省略した場合は、-ascii、-increasing がが使われたとみなされます。lsort を実行しても、元のリストは変更されません。

2003.6.10(火) 12:48:11[編集]


Sakura Dictionary Ver. 1.09a
Scripted by UTANO Lime
(c)Pastel Carrot 1999-
All rights Reserved.