Collections et objets
536 fonctions dans 76 classes, groupées par ce qu'elles font, chacune avec l'explication que la bibliothèque donne d'elle-même.
Le récit de ce domaine, pour un lecteur général : ce qu'un artisan en fait, un exemple exécuté et ses couloirs notés, est sur sa page de la Plateforme.
Les fonctions, par ce qu'elles font
Tester et vérifier
- IsUpToNBoundsNamedParam ~~~~~~~~ dans stzListNamedParams
exemple composé
o1 = new stzListNamedParams([ :UpToNBounds, 3 ]) ? o1.IsUpToNBoundsNamedParam() #--> 1
composé à partir de la signature, exécuté pour cette page - IsUptoPositionNamedParam Misspelled form dans stzListNamedParams
exemple composé
o1 = new stzListNamedParams([ :UptoPosition, 3 ]) ? o1.IsUptoPositionNamedParam() #--> 1
composé à partir de la signature, exécuté pour cette page - IsUntilSubStringNamedParam Move IsToSubStringNamedParam() here dans stzListNamedParams
exemple composé
o1 = new stzListNamedParams([ :UntilSubString, 3 ]) ? o1.IsUntilSubStringNamedParam() #--> 1
composé à partir de la signature, exécuté pour cette page - IsByManyOrWithManyOrUsingManyNamedParam ...Param(s) with s dans stzListNamedParams
exemple composé
o1 = new stzListNamedParams([ :ByMany, 3 ]) ? o1.IsByManyOrWithManyOrUsingManyNamedParam() #--> 1
composé à partir de la signature, exécuté pour cette page - IsSet TRUE if all the items are unique (the list is a set). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.IsSet() #--> 0
composé à partir de la signature, exécuté pour cette page - CheckW CheckW: all items satisfy a W (DSL) condition. CheckW is the same -- now that the DSL is engine-backed (the perf/expressiveness split is gone). dans stzList
o1 = new stzList([ "A", "B", "C" ]) ? o1.CheckW('{ isString(@item) and IsUppercase(@item) }') #--> 1test de la bibliothèque - IsPair TRUE if the list holds exactly two items. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.IsPair() #--> 0
composé à partir de la signature, exécuté pour cette page - IsAList So a stzList answered "no" to being a list, and every `but IsAList()` arm in the library fell past it. stzObject.IsEither() has such an arm, followed by `but IsAnObject()` -- which a stzList IS -- so comparing two lists raised "Feature not implemented yet!" from a branch meant for something else entirely. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.IsList() #--> 1
composé à partir de la signature, exécuté pour cette page · écrit IsAList() dans la bibliothèque aujourd'hui : le langage hôte tient déjà IsList(), et Haro supprime le détour - Contains TRUE if the list contains the given item. dans stzList
o1 = new stzList("a":"t") ? o1.Contains("x") #--> 0test de la bibliothèque - IsMadeOf IsMadeOf family: "the list consists of these items". -- IsMadeOf / IsMadeOfThese -> contains ALL the given items. dans stzList
o1 = new stzList([ "a", "b", "c", "a", "a", "b", "c" ]) ? o1.IsMadeOf([ "a", "b", "c" ]) ? o1.IsMadeOfSome([ "a", "b", "c", "x", "z" ]) #--> 1 #--> 1
test de la bibliothèque - IsSorted TRUE if the items are sorted, ascending OR descending. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.IsSorted() #--> 0
composé à partir de la signature, exécuté pour cette page - IsEqualTo equality check (set-based, engine-backed) dans stzList
o1 = new stzList([ "C", "A", "B" ]) ? o1.IsEqualTo([ "A", "B", "C" ]) ? o1.IsEqualToXT([ "A", "B", "C" ]) #--> 1 #--> 0
test de la bibliothèque
et 104 autres dans la référence
Trouver
- Find Find the given item: the positions of EVERY occurrence, as a list (engine-backed). (case-sensitive by default) dans stzList
# find example 1 ? @@( Q([1, 2, 3, 4, 5, 3, 7]).Find(3) ) #--> [ 3, 6 ]
test de la bibliothèque - FindNth Case-insensitive word-order aliases used by narrative tests. (Cannot live inside FindNthOccurrenceCS as nested defs because they take a different arity -- top-level methods instead.) dans stzList
o1 = new stzList([ "_", "_", "♥", "_", "♥", "_", "_", "♥", "_", "_" ]) ? o1.FindNth(3, "♥") #--> 8
test de la bibliothèque - FindItem The positions of every occurrence of the item (the Find contract). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.FindItem(3) ) #--> [ 2, 4 ]
composé à partir de la signature, exécuté pour cette page - FindNext FindNext: convenience wrapper used by narrative tests. Accepts either FindNext(item, n) or FindNext(item, :StartingAt = n). dans stzList
o1 = new stzList([ 1, 2, 3, "*", 5, 6, "*", 8, 9 ]) # findnext example 1 ? @@( o1.FindNext("*", :StartingAt = 4) ) #--> 7test de la bibliothèque - LastItem getting the last item in the list dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.LastItem() #--> 1
composé à partir de la signature, exécuté pour cette page - FindItems [[item, [positions...]], ...] in first-appearance order dans stzList
o1 = new stzList([ "A", "B", "A", "C", "D", "B" ]) ? @@( o1.Index() ) #--> [ [ "A", [ 1, 3 ] ], [ "B", [ 2, 6 ] ], [ "C", [ 4 ] ], [ "D", [ 5 ] ] ]
test de la bibliothèque - FirstHalf The first floor(n/2) items of the list. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.FirstHalf() ) #--> [ 5, 3 ]
composé à partir de la signature, exécuté pour cette page - FirstItem getting the first item in the list dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.FirstItem() #--> 5
composé à partir de la signature, exécuté pour cette page - FirstList allitemsareequalto (split-dropped / new). dans stzList
o1 = new stzList([ "A", "B", 1:3, "C", "D", 4:5 ]) ? o1.FirstList() ? o1.FindFirstList() #--> 1 #--> 2 #--> 3 #--> 3
test de la bibliothèque - NthToLast The nth item counted from the end: NthToLast(1) is the item -- before the last, NthToLast(2) the one before it, and so on. dans stzList
o1 = new stzList([ "S", "O", "F", "T", "A", "N", "Z", "A" ]) ? o1.NthToLast(2) #--> N
test de la bibliothèque - FindLargest smallest/largest positions, items-with-positions, etc. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.FindLargest() ) #--> [ 3 ]
composé à partir de la signature, exécuté pour cette page - FindNextNth The position of the nth occurrence of the item after the given position. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.FindNextNth(2, 3, 5) #--> 0
composé à partir de la signature, exécuté pour cette page
et 105 autres dans la référence
Compter et mesurer
- Min Min / Max for numeric lists dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.Min() #--> 1
composé à partir de la signature, exécuté pour cette page - Sum Sum / Product / Mean (engine-backed) dans stzList
# Sum([1,2,3,4]) is 10 ? Q([1,2,3,4]).Sum() # IsEmpty([]) is TRUE ? Q([]).IsEmpty() # IsEmpty([1]) is FALSE ? Q([1]).IsEmpty() #--> 10 #--> 1 #--> 0
test de la bibliothèque - NumberOfLists How many LIST items the list holds. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.NumberOfLists() #--> 0
composé à partir de la signature, exécuté pour cette page - NumberOfPairs How many pairs the list holds. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.NumberOfPairs() #--> 0
composé à partir de la signature, exécuté pour cette page - NumberOfLevels Max nesting depth (a flat list is 1 level). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.NumberOfLevels() #--> 1
composé à partir de la signature, exécuté pour cette page - NumberOfClasses How many distinct classes the items form. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.NumberOfClasses() #--> 0
composé à partir de la signature, exécuté pour cette page - NumberOfLargest smallest/largest positions, items-with-positions, etc. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.NumberOfLargest() #--> 1
composé à partir de la signature, exécuté pour cette page - NumberOfLetters How many LETTER items the list holds. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.NumberOfLetters() #--> 0
composé à partir de la signature, exécuté pour cette page - NumberOfNumbers How many NUMBER items the list holds. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.NumberOfNumbers() #--> 5
composé à partir de la signature, exécuté pour cette page - NumberOfStrings How many STRING items the list holds. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.NumberOfStrings() #--> 0
composé à partir de la signature, exécuté pour cette page - NumberOfSmallest smallest/largest positions, items-with-positions, etc. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.NumberOfSmallest() #--> 1
composé à partir de la signature, exécuté pour cette page - NumberOfDuplicates NumberOfDuplicates counts the duplicate OCCURRENCES (every 2nd+ appearance), not the number of distinct duplicated items. For [ "A","B","2","A","A","B",2,2,"." ] that is 4 (A twice, B once, 2 once). NumberOfDuplicatedItems (distinct) would be 3. dans stzList
oW = new stzList( o1.Words() ) ? oW.ContainsDuplicates() ? oW.NumberOfDuplicates() #--> 1 #--> 3
test de la bibliothèque
et 28 autres dans la référence
Remplacer et modifier
- Update Replace the whole content with the given list (mutating; the enforcement guard sits at _SetContent, the single update point). dans stzList
o1 = new stzList("A":"E") o1.Update([]) ? @@( o1.Content() ) #--> [ ]test de la bibliothèque - ReplaceAt Positional replace: swap whatever lives at position n with pNewItem. Mirrors AddItemAt / InsertAt / RemoveAt naming. dans stzList
o1 = new stzList([ "A", "a", "A" ]) o1.ReplaceAt(2, :By = "A") ? o1.Content() #--> A #--> A #--> A
test de la bibliothèque - ReplaceSection ReplaceSection: the section [n1..n2] is replaced by ONE new item -- -- if that item is a list, it is inserted as a SINGLE element. This is -- the canonical Softanza semantics (see ReplaceSectionByMany to splice). dans stzList
o1 = new stzList([ "1", "2", "_", "_", "_", "4", "5" ]) o1.ReplaceSection(3, 5, :With = "3") ? @@( o1.Content() ) #--> [ "1", "2", "3", "4", "5" ]
test de la bibliothèque - ReplaceAllItems Replace every item by a single new one: ReplaceAllItems(:With = newItem) or ReplaceAllItems(newItem). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.ReplaceAllItems(2) ? @@( o1.Content() ) #--> [ 2, 2, 2, 2, 2 ]
composé à partir de la signature, exécuté pour cette page - ReplaceThisItemAt positional replacers (ported from the monolith) dans stzList
o1 = new stzList([ 1, 2, "♥", 4, "♥" ]) o1.ReplaceThisItemAt(3, "♥", :With = "★") ? @@( o1.Content() ) o1.ReplaceThisItemAt(2, "BLA", :With = "★" ) ? @@( o1.Content() ) #--> [ 1, 2, "★", 4, "♥" ] #--> [ 1, 2, "★", 4, "♥" ]
test de la bibliothèque - ReplaceOccurrencesByMany Replace items at the GIVEN positions with paNewItems consumed in order. dans stzList
o1 = new stzList([ "A", "B", "*", "D", "*", "=" ]) o1.ReplaceOccurrencesByMany([ 3, 5, 6 ], ["C", "E", "F"]) ? @@( o1.Content() ) #--> [ "A", "B", "C", "D", "E", "F" ]
test de la bibliothèque - ReplaceAnyItemAtPositions Set whatever lives at each of panPos to pNewItem. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.ReplaceAnyItemAtPositions([ 2, 3 ], 2) ? @@( o1.Content() ) #--> [ 5, 2, 2, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - ReplaceRepeatedLeadingItem Replace the run of repeated LEADING items with a given value -- (:with names it). Delegates to ReplaceLeadingItems. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.ReplaceRepeatedLeadingItem(3) ? @@( o1.Content() ) #--> [ 3, 3, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - SetValueAt NOTE // Normally Set... does not belong to Softanza semantics, we use Replace instead. Here I use to cope with AI-generated code which tend to be alligned with the Set keyword dans stzHashList
exemple composé
o1 = new stzHashList([ :name = "Aya", :age = 30, :city = "Niamey" ]) o1.SetValueAt(2, 5) ? @@( o1.Content() ) #--> [ [ "name", "Aya" ], [ "age", 5 ], [ "city", "Niamey" ] ]
composé à partir de la signature, exécuté pour cette page - UpdateNthKey Replace the KEY of the nth pair (mutating). dans stzHashList
exemple composé
o1 = new stzHashList([ :name = "Aya", :age = 30, :city = "Niamey" ]) o1.UpdateNthKey(2, "a") ? @@( o1.Content() ) #--> [ [ "name", "Aya" ], [ "a", 30 ], [ "city", "Niamey" ] ]
composé à partir de la signature, exécuté pour cette page - ReplaceNthKey Replace the key of the nth pair (mutating). dans stzHashList
exemple composé
o1 = new stzHashList([ :name = "Aya", :age = 30, :city = "Niamey" ]) o1.ReplaceNthKey(2, "AN") ? @@( o1.Content() ) #--> [ [ "name", "Aya" ], [ "AN", 30 ], [ "city", "Niamey" ] ]
composé à partir de la signature, exécuté pour cette page - ReplaceLastKey Replace the key of the last pair (mutating). dans stzHashList
exemple composé
o1 = new stzHashList([ :name = "Aya", :age = 30, :city = "Niamey" ]) o1.ReplaceLastKey("AN") ? @@( o1.Content() ) #--> [ [ "name", "Aya" ], [ "age", 30 ], [ "AN", "Niamey" ] ]composé à partir de la signature, exécuté pour cette page
et 44 autres dans la référence
Retirer
- StripNulls Remove the null items from the list (mutating). dans stzList
exemple composé
o1 = new stzList([ "tea", "rice", "tea", "fish" ]) o1.StripNulls() ? @@( o1.Content() ) #--> [ "tea", "rice", "tea", "fish" ]
composé à partir de la signature, exécuté pour cette page - TrimToSize Cut the list down to its first n items (mutating). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.TrimToSize(2) ? @@( o1.Content() ) #--> [ 5, 3 ]
composé à partir de la signature, exécuté pour cette page - RemoveFirst remove the first occurrence of pItem dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.RemoveFirst(3) ? @@( o1.Content() ) #--> [ 5, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - RemoveRange RemoveRange: remove items from start for a count dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.RemoveRange(2, 5) ? @@( o1.Content() ) #--> [ 5 ]
composé à partir de la signature, exécuté pour cette page - RemoveSpaces RemoveSpaces / RemoveSpacesQ: drop every " " item (string-space) from the content. Engine-aware: only removes string-typed " ". dans stzList
exemple composé
o1 = new stzList([ "tea", "rice", "tea", "fish" ]) o1.RemoveSpaces() ? @@( o1.Content() ) #--> [ "tea", "rice", "tea", "fish" ]
composé à partir de la signature, exécuté pour cette page - RemoveNthItem remove the item at position n; accepts :First / :Last dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.RemoveNthItem(2) ? @@( o1.Content() ) #--> [ 5, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - RemoveNumbers Remove all the number items (mutating). dans stzList
exemple composé
o1 = new stzList([ "tea", "rice", "tea", "fish" ]) o1.RemoveNumbers() ? @@( o1.Content() ) #--> [ "tea", "rice", "tea", "fish" ]
composé à partir de la signature, exécuté pour cette page - RemoveSection RemoveSection: remove items between two positions dans stzList
o1 = new stzList([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]) o1.RemoveSection(3, 8) # removesection example 1 ? @@( o1.Content() ) #--> [ 1, 2, 9, 10 ]
test de la bibliothèque - RemoveFirstItem RemoveFirstItem / RemoveLastItem Remove the first item of the list (mutating). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.RemoveFirstItem() ? @@( o1.Content() ) #--> [ 3, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - RemoveDupOrigins Remove the first occurrence of each duplicated item (mutating). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.RemoveDupOrigins() ? @@( o1.Content() ) #--> [ 5, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - RemoveOccurrences remove the panOcc-th occurrences of pItem (by occurrence index) dans stzList
o1 = new stzList([ "a", "b", "a", "a", "c", "d", "a" ]) o1.RemoveOccurrences([ 4, 1, 3 ], "a") ? o1.Content() #--> b #--> a #--> c #--> d
test de la bibliothèque - RemoveThisNthItem remove the n-th occurrence of pItem dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.RemoveThisNthItem(2, 3) ? @@( o1.Content() ) #--> [ 5, 3, 8, 1 ]
composé à partir de la signature, exécuté pour cette page
et 33 autres dans la référence
Ajouter
- AddItem Add the given item at the end of the list (mutating). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.AddItem(3) ? @@( o1.Content() ) #--> [ 5, 3, 8, 3, 1, 3 ]
composé à partir de la signature, exécuté pour cette page - AddItems adding many items to the list dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.AddItems([ 2, 3 ]) ? @@( o1.Content() ) #--> [ 5, 3, 8, 3, 1, 2, 3 ]
composé à partir de la signature, exécuté pour cette page - ExtendTo Sugar aliases over ExtendToPositionXT: the same operation but using the more natural "ExtendTo" / "Extend" naming. Default filler is the empty string. dans stzList
o1 = new stzList([ "A", "B", "C" ]) o1.ExtendTo(5) ? @@( o1.content() ) #--> [ "A", "B", "C", "", "" ]
test de la bibliothèque - InsertAt InsertAt: insert an item at a given position dans stzList
o1 = new stzList([ "A", "C", "D" ]) o1.InsertAt(2, "B") ? o1.Content() #--> A #--> B #--> C #--> D
test de la bibliothèque - AddItemAt adding an item at a given position --> insert or extend dans stzList
o1 = new stzList(1:5) o1.AddItemAt(8, 9) ? @@( o1.Content() ) #--> [ 1, 2, 3, 4, 5, "", "", 9 ]
test de la bibliothèque - InsertAfter InsertAfter(:ItemAtPosition = n, item): NON-mutating -- returns the -- would-be list with item inserted after position n, leaving This as-is -- (use InsertAfterPosition for the mutating form). dans stzList
o1 = new stzList([ "A1", "A2", "A3" ]) o1.InsertAfter( :ItemAtPosition = 3, "A4" ) ? o1.Content() #--> A1 #--> A2 #--> A3
test de la bibliothèque - ExtendToPosition Extend the list up to position n. ExtendToPosition pads with 0 -- (number lists) or "" ; the WithItemsIn/Repeated forms pad by -- cycling through a given list (or the list's own items). dans stzList
o1 = new stzList([ 1, 2, 3]) o1.ExtendToPosition(5) ? @@( o1.Content() ) o1.ExtendToPositionXT( 8, :With = 5 ) ? @@(o1.Content()) #--> [ 1, 2, 3, 0, 0 ] #--> [ 1, 2, 3, 0, 0, 5, 5, 5 ]
test de la bibliothèque - InsertAfterPosition inserting an item after a given position dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.InsertAfterPosition(2, 3) ? @@( o1.Content() ) #--> [ 5, 3, 3, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - InsertBeforePosition inserting an item before a given position dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.InsertBeforePosition(2, 3) ? @@( o1.Content() ) #--> [ 3, 5, 3, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - InsertBeforePositions Insert the item before EACH of the given positions (mutating). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.InsertBeforePositions([ 2, 3 ], 3) ? @@( o1.Content() ) #--> [ 5, 3, 3, 3, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - InsertAfterManyPositions insert after/before many positions / by w-condition dans stzList
o1 = new stzList([ "a", "b", "c", "d", "e" ]) o1.InsertAfterManyPositions([ 2, 4, 5 ], "*") ? @@( o1.Content() ) #--> [ "a", "b", "*", "c", "d", "*", "e", "*" ]
test de la bibliothèque - InsertBeforeManyPositions insert after/before many positions / by w-condition dans stzList
o1 = new stzList([ "a", "b", "c", "d", "e" ]) o1.InsertBeforeManyPositions([ 2, 4, 5 ], "*") ? @@( o1.Content() ) #--> [ "a", "*", "b", "c", "*", "d", "*", "e" ]
test de la bibliothèque
et 25 autres dans la référence
Découper et extraire
- SplitW SplitW MUTATES the content into the list of parts (the matching items are dropped; SplittedW is the passive twin). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.SplitW("@item > 3") ) #--> [ [ 3 ], [ 3, 1 ] ]composé à partir de la signature, exécuté pour cette page - SplitAt SplitAt (engine-backed) Split the list at the given cut position(s): the parts. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.SplitAt(2) ) #--> [ [ 5 ], [ 3, 8, 3, 1 ] ]
composé à partir de la signature, exécuté pour cette page - ExtractAll Empty the list, returning everything that was in it. dans stzList
o1 = new stzList([ "A", "B", "C" ]) # extractall example 1 ? @@( o1.ExtractAll() ) # extractall example 2 ? @@( o1.Content() ) #--> [ "A", "B", "C" ] #--> [ ]
test de la bibliothèque - ExtractNth Remove the nth item and return it. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.ExtractNth(2) #--> 8
composé à partir de la signature, exécuté pour cette page - SplitAfter Split the list after each occurrence of the item: each occurrence closes its part. dans stzList
exemple composé
o1 = new stzList([ "tea", "rice", "tea", "fish" ]) o1.SplitAfter(3) ? @@( o1.Content() ) #--> [ "tea", "rice", "tea", "fish" ]
composé à partir de la signature, exécuté pour cette page - ExtractLast Remove the LAST occurrence of the item and return it. dans stzList
o1 = new stzList([ "A", "B", "C", "_" ]) ? o1.ExtractLast("_") + NL ? o1.Content() #--> _ #--> A #--> B #--> Ctest de la bibliothèque - SplitBefore Split the list before each occurrence of the item: each occurrence starts a new part. dans stzList
exemple composé
o1 = new stzList([ "tea", "rice", "tea", "fish" ]) o1.SplitBefore(3) ? @@( o1.Content() ) #--> [ "tea", "rice", "tea", "fish" ]
composé à partir de la signature, exécuté pour cette page - ExtractFirst Remove the FIRST occurrence of the item and return it. dans stzList
o1 = new stzList([ "_", "A", "B", "C" ]) ? o1.ExtractFirst("_") + NL ? o1.Content() #--> _ #--> A #--> B #--> Ctest de la bibliothèque - SplitAtPacer splitting using a given pacer dans stzList
exemple composé
o1 = new stzList([ "tea", "rice", "tea", "fish" ]) o1.SplitAtPacer(2, 5) ? @@( o1.Content() ) #--> [ "tea", "rice", "tea", "fish" ]
composé à partir de la signature, exécuté pour cette page - SplitToNParts Split the list into n (near-)equal parts. dans stzList
o1 = new stzSplitter(3) ? @@( o1.SplitToNParts(0) ) o1 = new stzList([ "A", "B", "C" ]) ? @@( o1.SplittedToNParts(3) ) #--> [ ] #--> [ [ "A" ], [ "B" ], [ "C" ] ]
test de la bibliothèque - ExtractSection Remove the items at positions n1..n2 and return them. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.ExtractSection(2, 5) ) #--> [ 3, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - SplitAtPosition Split the list at the given position: the parts. dans stzList
exemple composé
o1 = new stzList([ "tea", "rice", "tea", "fish" ]) o1.SplitAtPosition(2) ? @@( o1.Content() ) #--> [ "tea", "rice", "tea", "fish" ]
composé à partir de la signature, exécuté pour cette page
et 32 autres dans la référence
Ordonner et déplacer
- Move Move / Swap accept the named-param spellings Move(:ItemFromPosition = a, :To = b), Swap(:Positions = a, :And = b), and the value form Swap(item1, :And = item2). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.Move(2, 5) ? @@( o1.Content() ) #--> [ 5, 8, 3, 1, 3 ]
composé à partir de la signature, exécuté pour cette page - Sort Sort the items in ascending order in place (mutating). For a copy, use Sorted. dans stzList
? @@( StzListQ([ "him", [ "him" ], "" ]).Sorted() ) + NL o1 = new stzList([ "him", [ "him" ], "" ]) o1.Stringify() ? @@( o1.Content() ) o1.Sort() #--> [ "", "him", [ "him" ] ] #--> [ "him", '[ "him" ]', "" ]
test de la bibliothèque - Swap Exchange the items at the two given positions (mutating). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.Swap(2, 5) ? @@( o1.Content() ) #--> [ 5, 1, 8, 3, 3 ]
composé à partir de la signature, exécuté pour cette page - SortBy Sort by a key expression (engine-backed via the W DSL). dans stzList
o1 = new stzList([ "a", "abcde", "abc", "ab", "abcd" ]) o1.SortBy('len(@item)') # sortby example 1 ? @@( o1.Content() ) #--> [ "a", "ab", "abc", "abcd", "abcde" ]test de la bibliothèque - Reverse Reverse the order of the items in place (mutating). For a copy, use Reversed. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.Reverse() ? @@( o1.Content() ) #--> [ 1, 3, 8, 3, 5 ]
composé à partir de la signature, exécuté pour cette page - MoveToEnd Move the item at position n to the END of the list (mutating). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.MoveToEnd(2) ? @@( o1.Content() ) #--> [ 5, 8, 3, 1, 3 ]
composé à partir de la signature, exécuté pour cette page - RotateLeft rotate -- circular shift dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.RotateLeft(2) ? @@( o1.Content() ) #--> [ 8, 3, 1, 5, 3 ]
composé à partir de la signature, exécuté pour cette page - SortOnDown SortOnDown / SortedOnDown for stzList: when the list is flat (numbers / strings), forwards to descending sort on the whole list. When the list is a list-of-lists, forwards to the stzListOfLists.SortOnDown(n) which sorts on column n. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.SortOnDown(2) ? @@( o1.Content() ) #--> [ 8, 5, 3, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - MoveToStart Move the item at position n to the START of the list (mutating). dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.MoveToStart(2) ? @@( o1.Content() ) #--> [ 3, 5, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - RotateRight rotate -- circular shift dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.RotateRight(2) ? @@( o1.Content() ) #--> [ 3, 1, 5, 3, 8 ]
composé à partir de la signature, exécuté pour cette page - MoveItemToEnd move item by value dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.MoveItemToEnd(3) ? @@( o1.Content() ) #--> [ 5, 8, 3, 1, 3 ]
composé à partir de la signature, exécuté pour cette page - MoveItemToStart move item by value dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) o1.MoveItemToStart(3) ? @@( o1.Content() ) #--> [ 3, 5, 8, 3, 1 ]
composé à partir de la signature, exécuté pour cette page
et 20 autres dans la référence
Convertir
- ToString ToString: a plain display form -- the items rendered one per line (monolith semantics: ToStringXT(:ConcatenatedUsing = NL)). Overrides the stzObject default so a stzList stringifies to its content, not to an "@noname" object handle. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? o1.ToString() #--> 5 #--> 3 #--> 8 #--> 3 #--> ...
composé à partir de la signature, exécuté pour cette page - ToListInAString ToListInAString: the content rendered as a "[ ... ]" string (computable form). Delegates to stzListStringify, like the rest of this section. dans stzList
? @@( StzListQ( 4:8 ).ToListInAString() ) ? @@( StzListQ( 4:8 ).ToListInAStringInShortForm() ) #--> "[ 4, 5, 6, 7, 8 ]" #--> "4:8"
test de la bibliothèque - ToListOfStzStrings tion over the established per-string locale lookups. dans stzList
exemple composé
o1 = new stzList([ "tea", "rice", "tea", "fish" ]) ? @@( o1.ToListOfStzStrings() ) #--> [ @noname, @noname, @noname, @noname ]
composé à partir de la signature, exécuté pour cette page - ToListInAStringInShortForm Short form: a contiguous run of integers (a, a+1, ..., b -- or the descending a, a-1, ..., b) collapses to the range literal "a:b". Anything else falls back to the full stringified list. dans stzList
? StzListQ( 4:8 ).ToListInString() ? StzListQ( 4:8 ).ToListInStringInShortForm() #--> [ 4, 5, 6, 7, 8 ] #--> 4:8
test de la bibliothèque - ToCode The hash list as runnable Haro code, as a string. dans stzHashList
exemple composé
o1 = new stzHashList([ :name = "Aya", :age = 30, :city = "Niamey" ]) ? o1.ToCode() #--> [ :name = "Aya", :age = "30", :city = "Niamey" ]
composé à partir de la signature, exécuté pour cette page - ToStzHashList content access dans stzListNamedParams
- ToStzTable The list turned into a stzTable object (rows; per the stzTable contract, the first row may carry the column names). dans stzList
- ToStzListOfStrings Convert to a stzListOfStrings (for string-oriented chaining like -- ConcatenatedUsing / Joined). Needed by the ..Q() chain idioms. dans stzList
- ToStzSetOfSections transforming the list of pairs into a stzhashlist dans stzListOfPairs
- ToStzListOfSections transforming the list of pairs into a stzhashlist dans stzListOfPairs
- Parse parsing dans stzListParser
- ToStzList utility functions used by the other methods above dans stzSplitter
et 3 autres dans la référence
Afficher, dessiner et mettre en forme
- Show Print the list to stdout in its computable @@ form. dans stzList
- ShowShort Print an abbreviated form of the list (first items ... last items). dans stzList
- ShowShortN Print the abbreviated form showing n items at each end. dans stzList
Parcourir et appliquer
- Map expression-backed operations (engine bytecode) dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.Map("@item > 3") ) #--> [ 1, 0, 1, 0, 0 ]composé à partir de la signature, exécuté pour cette page - WalkW Walk the list collecting where the W condition holds. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkW("@item > 3") ) #--> [ 1, 3 ]composé à partir de la signature, exécuté pour cette page - Filter expression-backed operations (engine bytecode) dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.Filter("@item > 3") ) #--> [ 5, 8 ]composé à partir de la signature, exécuté pour cette page - WalkWhen The When-walk over the items (see stzListWalker), driven by the given condition. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkWhen("@item > 3") ) #--> [ 1, 2, 3, 4, 5 ]composé à partir de la signature, exécuté pour cette page - WalkUntil Walk the items UNTIL the given condition holds. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkUntil("@item > 3") ) #--> [ 1 ]composé à partir de la signature, exécuté pour cette page - WalkWhere Walk the list collecting where the condition holds. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkWhere("@item > 3") ) #--> [ 1, 3 ]composé à partir de la signature, exécuté pour cette page - WalkWhile Walk the items WHILE the given condition holds. dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkWhile("@item > 3") ) #--> [ 1 ]composé à partir de la signature, exécuté pour cette page - WalkFromTo PositionsWhere already defined above as alias of FindAllItemsW dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkFromTo(2, 5) ) #--> [ 2, 3, 4, 5 ]
composé à partir de la signature, exécuté pour cette page - WalkZigZag walking in zigzag pattern dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkZigZag(2) ) #--> [ 1, 3, 5, 5, 3, 1 ]
composé à partir de la signature, exécuté pour cette page - WalkEveryNth walking every nth position dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkEveryNth(2) ) #--> [ 2, 4 ]
composé à partir de la signature, exécuté pour cette page - WalkNForward walking the list n items forward dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkNForward(2) ) #--> [ 1, 3, 5 ]
composé à partir de la signature, exécuté pour cette page - WalkSkipping walk skipping n items dans stzList
exemple composé
o1 = new stzList([ 5, 3, 8, 3, 1 ]) ? @@( o1.WalkSkipping(2) ) #--> [ 1, 4 ]
composé à partir de la signature, exécuté pour cette page
et 19 autres dans la référence
Les explications sont celles que la bibliothèque donne d'elle-même, en anglais, lues dans ses commentaires de documentation le 2026-10-01 04:14, from the library at commit 0e72e2e2c, by the library's own stzSelfDoc over 635 class sources.
Les classes de ce domaine
- stzListNamedParams · 1365 méthodes
- stzList · 887 méthodes
- stzHashList · 221 méthodes
- stzGrid · 196 méthodes
- stzListOfPairs · 98 méthodes
- stzFalseObject · 56 méthodes
- stzListRandom · 45 méthodes
- stzListChecker · 41 méthodes
- stzListOfLists · 41 méthodes
- stzYielder · 38 méthodes
- stzListReplacer · 37 méthodes
- stzListSorter · 36 méthodes
- stzListFlattener · 35 méthodes
- stzForEachObject · 34 méthodes
- stzItemCS · 34 méthodes
- stzTree · 34 méthodes
- stzListParser · 32 méthodes
- stzSplitter · 31 méthodes
- stzListFinder · 30 méthodes
- stzLog · 28 méthodes
- stzListClassifier · 25 méthodes
- stzListGetter · 25 méthodes
- stzListMerger · 25 méthodes
- stzListRemover · 25 méthodes
Les narrations sur ce domaine
- Safe Access to Haro Hashlists: How Softanza Solves a Common Problem(s'ouvre dans un nouvel onglet)
- Softanza Reactive Objects: A Complete Beginner's Tutorial(s'ouvre dans un nouvel onglet)
- Taming Deep Lists with Softanza(s'ouvre dans un nouvel onglet)
- Probabilistic Quantifiers in Softanza: Natural Proportions Meet Logical Precision(s'ouvre dans un nouvel onglet)
- stzDataSet: Statistics as a Language of Thought(s'ouvre dans un nouvel onglet)
- When “different” is not enough: the story behind `Diff()`, `DiffXT()` and `DiffXTT()` in stzList(s'ouvre dans un nouvel onglet)
- Unlocking the Power of Lists-in-Strings with Softanza(s'ouvre dans un nouvel onglet)
- Softanza Listex: Bringing Pattern Matching to Lists(s'ouvre dans un nouvel onglet)
- The Narrative of Transformations: Tracking Object History in Softanza(s'ouvre dans un nouvel onglet)

