## Tcl9.0.3/Tk9.0.3 Documentation > Tcl Commands > linsert

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

### NAME

linsert — リストの中に要素を挿入する Insert elements into a list

### 構文 SYNOPSIS

linsert list index ?element element ...?

### 説明 DESCRIPTION

この命令は､全ての element 引数を list の丁度 index 番目の要素の直前に挿入して､ list から新しいリストを産出する｡それぞれの element 引数は新しいリストの別々の要素になる｡もし､ index が零かそれより小さいと､新しい要素はリストの初めに挿入される､ index が list の長さより大きいか同じであると､恰も end と同じになる｡命令 string index と同じように､ index 値は､単純算術的指定と､リストの末尾を基準にした相対指定の両方に対応している｡ This command produces a new list from list by inserting all of the element arguments just before the index'th element of list. Each element argument will become a separate element of the new list. If index is less than or equal to zero, then the new elements are inserted at the beginning of the list, and if index is greater or equal to the length of list, it is as if it was end. As with string index, the index value supports both simple index arithmetic and end-relative indexing.

索引指定はリストの内側の場所を参照しなければならないことと､ element は常に順番に挿入されることになるとの制限に従うので､挿入は､ index が先頭位置に相対指定の時は最初の element が結果のリスト内の指定位置になり､ index が末尾相対の時は､最後の element が結果のリスト内の指定位置になる｡ Subject to the restrictions that indices must refer to locations inside the list and that the elements will always be inserted in order, insertions are done so that when index is start-relative, the first element will be at that index in the resulting list, and when index is end-relative, the last element will be at that index in the resulting list.

### 用例 EXAMPLE

ある値をリストに入れる要領として､最初は､先頭から数えて指定し､次は末尾から数えて指定し､次はそれらを一緒に連結する: 　　　　　 Putting some values into a list, first indexing from the start and then indexing from the end, and then chaining them together:

    set oldList {the fox jumps over the dog}
    set midList [linsert $oldList 1 quick]
    set newList [linsert $midList end-1 lazy]
    # 古いリストは依然として変わっていないが...
    # The old lists still exist though...
    set newerList [linsert [linsert $oldList end-1 quick] 1 lazy]

### SEE ALSO

list, lappend, lassign, ledit, lindex, llength, lmap, lpop, lrange, lremove, lrepeat, lreplace, lreverse, lsearch, lseq, lset, lsort, string

### KEYWORDS

element, insert, list
Copyright © 1993 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 2001 Kevin B. Kenny <kennykb(at)acm.org>. All rights reserved.