Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

lindex (1t)

Name

lindex - Retrieve an element from a list

Synopsis

lindex list ?index ...?

Description

lindex(1t)                   Tcl Built-In Commands                  lindex(1t)



______________________________________________________________________________

NAME
       lindex - Retrieve an element from a list

SYNOPSIS
       lindex list ?index ...?
______________________________________________________________________________

DESCRIPTION
       The  lindex command accepts a parameter, list, which it treats as a Tcl
       list. It also accepts zero or more indices into the list.  The  indices
       may  be  presented either consecutively on the command line, or grouped
       in a Tcl list and presented as a single argument.

       If no indices are presented, the command takes the form:

              lindex list

       or

              lindex list {}

       In this case, the return value of lindex is simply  the  value  of  the
       list parameter.

       When presented with a single index, the lindex command treats list as a
       Tcl list and returns the index'th element from  it  (0  refers  to  the
       first element of the list).  In extracting the element, lindex observes
       the same rules concerning braces and quotes and backslashes as the  Tcl
       command interpreter; however, variable substitution and command substi-
       tution do not occur.  If index is negative or greater than or equal  to
       the number of elements in value, then an empty string is returned.  The
       interpretation of each simple index value is the same as for  the  com-
       mand string index, supporting simple index arithmetic and indices rela-
       tive to the end of the list.

       If additional index arguments are supplied, then each argument is  used
       in  turn  to  select  an  element from the previous indexing operation,
       allowing the script to select elements from sublists.  The command,

              lindex $a 1 2 3

       or

              lindex $a {1 2 3}

       is synonymous with

              lindex [lindex [lindex $a 1] 2] 3

EXAMPLES
       Lists can be indexed into from either end:

              lindex {a b c} 0
                    -> a
              lindex {a b c} 2
                    -> c
              lindex {a b c} end
                    -> c
              lindex {a b c} end-1
                    -> b

       Lists or sequences of indices allow selection into lists of lists:

              lindex {a b c}
                    -> a b c
              lindex {a b c} {}
                    -> a b c
              lindex {{a b c} {d e f} {g h i}} 2 1
                    -> h
              lindex {{a b c} {d e f} {g h i}} {2 1}
                    -> h
              lindex {{{a b} {c d}} {{e f} {g h}}} 1 1 0
                    -> g
              lindex {{{a b} {c d}} {{e f} {g h}}} {1 1 0}
                    -> g

       List indices may also perform limited computation, adding or  subtract-
       ing fixed amounts from other indices:

              set idx 1
              lindex {a b c d e f} $idx+2
                    -> d
              set idx 3
              lindex {a b c d e f} $idx+2
                    -> f


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tcl-8    |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       list(n),   lappend(n),  linsert(n),  llength(n),  lsearch(n),  lset(n),
       lsort(n), lrange(n), lreplace(n), string(n)

KEYWORDS
       element, index, list



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from  http://prdownloads.sourceforge.net/tcl/tcl-
       core8.6.7-src.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tcl                                   8.4                           lindex(1t)