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

### 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

lassign — リストの要素を変数に代入する Assign list elements to variables

### 構文 SYNOPSIS

lassign list ?varName ...?

### 説明 DESCRIPTION

この命令は 値 list をリストとして扱いそのリストの中の継続した値を､ varName 引数として与えられた変数に順番に代入する｡もし､リストの要素よりも沢山の変数が並んでいると､残りの変数には空文字列が入る｡変数よりリストの要素の方が多い時は､代入されなかった要素はこの函数の戻り値になる｡ This command treats the value list as a list and assigns successive elements from that list to the variables given by the varName arguments in order. If there are more variable names than list elements, the remaining variables are set to the empty string. If there are more list elements than variables, a list of unassigned elements is returned.

### 用例 EXAMPLES

多重代入の動作が行われる様子と､要素が少な過ぎたり､多過ぎたりした場合に起こることを図示する｡ 　　 An illustration of how multiple assignment works, and what happens when there are either too few or too many elements.

    lassign {a b c} x y z       ;# 空文字列を返す # Empty return
    puts $x                     ;#"a"を印刷する # Prints "a"
    puts $y                     ;#"b"を印刷する # Prints "b"
    puts $z                     ;#"c"を印刷する # Prints "c"

    lassign {d e} x y z         ;# 空文字列を返す # Empty return
    puts $x                     ;#"d"を印刷する # Prints "d"
    puts $y                     ;#"e"を印刷する # Prints "e"
    puts $z                     ;#""を印刷する # Prints ""

    lassign {f g h i} x y       ;# "h i"を返す # Returns "h i"
    puts $x                     ;#"f"を印刷する # Prints "f"
    puts $y                     ;#"g"を印刷する # Prints "g"

この lassign 命令は別の使用法がある｡多くの他のシェル言語の “shift” 命令の類似物の作成に使えるかもしれない､譬えば: 　　　 The lassign command has other uses. It can be used to create the analogue of the “shift” command in many shell languages like this:

    set ::argv [lassign $::argv argumentToReadOff]

### SEE ALSO

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

### KEYWORDS

assign, element, list, multiple, set, variable
Copyright © 1992-1999 Karl Lehenbauer & Mark Diekhans
Copyright © 2004 Donal K. Fellows