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
cd
e 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
cd
e fg hijk l}
message
[
linsert
$List_a 1 m n]
とすると、
ab m n
cd
e 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
-
incr
easing
昇順にソートします。
lsort
-decreasing
降順にソートします。
オプションを省略した場合は、-ascii、-
incr
easing がが使われたとみなされます。
lsort
を実行しても、元の
リスト
は変更されません。
2003.6.10(火) 12:48:11[
編集
]
Sakura Dictionary Ver. 1.09a
Scripted by
UTANO Lime
(c)
Pastel Carrot
1999-
All rights Reserved.