Scilab Function
Last update : 14/2/2006
list - Scilab object and list function definition
Calling Sequence
-
list(a1,....an)
Description
Creates a
list
with elements
ai
's which are arbitrary Scilab
objects (
matrix, list,...
). Type of
list
objects is 15.
list() creates the empty
list
(0 element).
Operations on lists
-
-
extraction
: [x,y,z...]=L(v) where v is a vector of indices;
[x,y,z]=L(:) extracts all the elements.
-
insertion at index i
: L(i)=a (note that it is not an error to use L(i)=a
with i > 1 + size(L) but some list entries are then undefined
and their extraction gives raise to an error).
-
append an element in queue
: L($+1)=e.
-
append an element in head
: L(0)=e. (note that after this operation e is
at index 1, the initial elements being shifted on the right).
-
deletion
: L(i)=null() removes the i-th element of the list L.
-
concatenation of two lists
: L3 = lstcat(L1,L2).
-
number of elements of a list
: you can use either nb_elm = size(L)
or nb_elm = length(L).
-
iterations with a list
: it is possible to use a list L with a
for
loop:
for e=L,...,end is a loop with length(L)
iterations, the loop variable e being equal to L(i)
at the i th iteration.
Remarks
Scilab provides also other kinds of list, the
tlist
type (typed list) and
the
mlist
type which are useful to define a new data type with operator
overloading
facilities (
hypermatrices
which are
multi-dimensionnal arrays in scilab are in fact mlist).
Matlab struct are also available.
Examples
l = list(1,["a" "b"])
l(0) = "foo"
l($+1) = "hello"
l(2) = "toto"
l(3) = rand(1,2)
l(3) = null()
lbis = list("gewurtz", "caipirina" ,"debug")
lter = lstcat(l,lbis)
size(lter) - size(lbis) - size(l) // must be zero
See Also
null
,
lstcat
,
tlist
,
insertion
,
extraction
,
size
,
length
,