Softanza
StartFrançais
Softanza
Reference · stzList

Items()

getting the list of items

Basic examples (2)

Softanza
? @@( StzListQ([ 12, 0, 30, -5, 18 ]).ItemsW("@item > 0") )
Output
[ 12, 30, 18 ]

run on 2026-10-02 04:24 inside the library at commit 0e72e2e2c; taken from 06-walk-ask-produce-act.en.md(opens in a new tab)

Softanza
o1 = new stzList([ "A", "B", 1, "C", 2, 3, "D", 4, 5 ])
? o1.ItemsW('{ not isNumber(@item) }')
Output
A
B
C
D

run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 397_itemswxt.ring(opens in a new tab)

Scope (7)

Softanza
o1 = new stzList([ 2, 8, 2, 11, 2, 11, 1, 4, 2, 1, 3, 2, 10, 8, 3, 6, 8 ])
? o1.ItemsW( '{ @item >= 8 }' )
Output
8
11
11
10
8
8

run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 473_itemswxt.ring(opens in a new tab)

Softanza
o1 = new stzList([ "A", "B", 1, "C", 2, 3, "D", 4, 5 ])
? o1 - These( o1.ItemsW('NOT isNumber(This[@i])') )
Output
1
2
3
4
5

run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 426_itemsw.ring(opens in a new tab)

Softanza
o1 = new stzList([ "Ab", "Im", "Ab", "Cf", "Fd", "Ab", "Cf" ])
? @@( o1.ItemsZ() ) # Or ItemsAndTheirPositions()
Output
[ [ "Ab", [ 1, 3, 6 ] ], [ "Im", [ 2 ] ], [ "Cf", [ 4, 7 ] ], [ "Fd", [ 5 ] ] ]

run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 245_itemsz.ring(opens in a new tab)

Softanza
o1 = new stzList(["_", "A", "*", "_", "B", "*", "_", "C", "*" ])
? o1.FindW( :Where = ' @NextItem = "*" ' )
? o1.ItemsW( :Where = ' @NextItem = "*" ' )
Output
2
5
8

A
B
C

run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 548_findwxt.ring(opens in a new tab)

Softanza
o = new stzList([ 4, 7, 10, 3, 8 ])
? @@( o.FindW("{ @item > 5 }") )
? @@( o.ItemsW("{ @item > 5 }") )
? o.CountW("{ @item > 5 }")
Output
[ 2, 3, 5 ]
[ 7, 10, 8 ]
3

run on 2026-10-02 04:24 inside the library at commit 0e72e2e2c; taken from 07-declare-what-not-how.en.md(opens in a new tab)

Softanza
o1 = new stzList([ "a", "b", "C", 5, "d", "E" ])
? o1.ContainsW("isString(This[@i]) and @IsUppercase(This[@i])")
? @@( o1.FindW("isString(This[@i]) and @IsUppercase(This[@i])") )
? @@( o1.ItemsW("isString(This[@i]) and @IsUppercase(This[@i])") )
Output
1
[ 3, 6 ]
[ "C", "E" ]

run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 610_checker.ring(opens in a new tab)

Softanza
o1 = new stzList([ 2, 8, 2, 11, 2, 11, 1, 4, 2, 1, 3, 2, 10, 8, 3, 8 ])
? o1.FindWF( func x { return Q(x).IsOneOfThese([ 2, 4, 6]) } )
? o1.ItemsWF( func x { return Q(x).IsOneOfThese([ 2, 4, 6]) } )
? o1.UniqueItemsWF( func x { return Q(x).IsOneOfThese([ 2, 4, 6]) } )
? @@NL( o1.ItemsAndTheirPositionsWF( func x { return Q(x).IsOneOfThese([ 2, 4, 6]) } ) )
Output
1
3
5
8
9
12

2
2
2
4
2
2

2
4

[
	[
		2,
		[
			1,
			3,
			5,
			9,
			12
		]
	],
	[
		4,
		[ 8 ]
	]
]

run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 475_findwxt.ring(opens in a new tab)

The extensions of this method

Each extension, and whether it exists for this method; an extension that exists combines with the others (FindSTCS).

Extension
Exists
What it adds · The names
Q
yes
does what the method does, then returns the object, so the call can be chained · ItemsQ, ItemsWQ
QQ
no
chains on the next, more specific type of object (the Q ladder)
QQQ
no
chains on the most specific type of object (the Q ladder)
QRT
no
returns the result as an object of the requested type
CS
no
takes a case-sensitivity flag
ST
no
takes the position to start from (StartingAt)
IB
no
takes bounds that are included (IncludingBounds)
XT
no
the extended form: more parameters than the base method
XTT
no
yet another extension: a further extended form, after XT
Z
yes
includes the position in what it returns · ItemsZ
ZZ
no
returns positions as sections, [start, end]
W
yes
selects by a condition · ItemsW, ItemsWQ
WF
yes
selects by a condition, with the expressive keywords (@NextItem, @PreviousItem...) · ItemsWF
D
no
takes a direction, forward or backward (Directional)
F
no
takes a function (the condition or the update is given as a function); the forms document also uses F for the future form, which defers the action
Many
no
works on a collection of items instead of one (the plural form)
Except
yes
takes exceptions, what to leave out (the exceptional form) · ItemsExcept
U
no
returns the result without duplication

Every example is a test file of the library, run inside the library for this page; only those whose output kept every promise their file wrote are shown.

See also