FindFirst()
Same as FindFirstOccurrenceCS: FindFirstOccurrenceCS / FindLastOccurrenceCS The position of the FIRST occurrence of the item (0 if none).
Basic examples (2)
o1 = new stzList([ "a", "ab", "abnA", "abAb" ])
? o1.Contains("n")
? o1.FindFirst("n")0 0
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 264_contains.ring(opens in a new tab)
o1 = new stzList([ 1, 2, 3, "*", 5, 6, "*", 8, 9 ])
# findfirst example 1
? @@( o1.FindFirst("*") )4
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 172_findfirst.ring(opens in a new tab)
Scope (8)
o1 = new stzList([ [1,2], [3, [1], 4], [5,6], [ 2, 10 ], [3,4], [3, [1], 4] ]) ? o1.FindAll( [3, [1], 4] ) ? o1.FindFirst( [3, [1], 4] )
2 6 2
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 377_findall.ring(opens in a new tab)
o1 = new stzList([ 1, 2, "A":"C", 4, 5, "A":"C", 7, "A":"C"])
? o1.FindFirst("A":"C")
? o1.FindNth(2,"A":"C")
? o1.FindLast("A":"C")3 6 8
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 292_findfirst.ring(opens in a new tab)
o1 = new stzList([ "a", "ab", 1:3, "abA", "abAb", 1:3 ])
? o1.ContainsCS("ab", TRUE)
? o1.FindFirstCS("AB", FALSE)
? o1.FindLastCS("ABA", FALSE)
? o1.FindFirst(1:3)
? o1.FindLast(1:3)1 2 4 3 6
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 265_containscs.ring(opens in a new tab)
o1 = new stzList([ 1, 2, 3, "*", 5, 6, "*", 8 ])
# howmany example 1
? @@( o1.HowMany("*") )
# howmany example 2
? @@( o1.FindFirst("*") )
# howmany example 3
? @@( o1.FindLast("*") )2 4 7
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 211_howmany.ring(opens in a new tab)
o1 = new stzList([ 14, 10, 14, 14, 20 ]) # findnext example 1 ? @@( o1.FindNext(14, :StartingAt = 1) ) # findnext example 2 ? @@( o1.Find(14) ) # findnext example 3 ? @@( o1.FindFirst(4) )
3 [ 1, 3, 4 ] 0
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 185_findnext.ring(opens in a new tab)
o1 = new stzList([ "_", "_", "♥", "_", "_", "♥", "_" ])
? o1.FindFirst("♥")
? o1.FindLast("♥")
? o1.FindNext("♥", :StartingAt = 3)
? o1.FindPrevious("♥", :StartingAt = 6)
? o1.FindNthNext(1, "♥", :StartingAt = 6)
? o1.FindNthNext(1, "♥", :StartingAt = 5)
? o1.FindNthPrevious(2, "♥", :StartingAt = 7)3 6 6 3 0 6 3
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 282_findfirst.ring(opens in a new tab)
o1 = new stzList([ 14, 10, 14, 14, 20 ]) # find example 1 ? @@( o1.Find(14) ) # find example 2 ? @@( o1.FindFirst(14) ) # find example 3 ? @@( o1.FindLast(14) ) # find example 4 ? @@( o1.FindNext(14, :StartingAt = 2) )
[ 1, 3, 4 ] 1 4 3
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 177_find.ring(opens in a new tab)
o1 = new stzList([ "1", "1", [ "2", "♥", "2"], "1", [ "2", ["3", "🌞"] ] , "3" ])
? o1.FindFirst("3")
? o1.FindNth(3, "1")
? o1.Contains([ "2", "♥", "2"])
? o1.DeepContains("🌞")
? o1.DeepContainsMany([ "1", "♥", "3", "🌞" ]) # Or DeepContainsThese()
? o1.DeepContainsBoth("♥", :And = "🌞")
? o1.DeepContainsOneOfThese(["_", "🌞", "0" ])
? o1.DeepContainsNOfThese(2, ["_", "🌞", "0", "♥" ])6 4 1 1 1 1 1 1
run on 2026-10-02 04:22 inside the library at commit 0e72e2e2c; taken from 326_findfirst.ring(opens in a new tab)
and 1 more in the tests
The extensions of this method
Each extension, and whether it exists for this method; an extension that exists combines with the others (FindSTCS).
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
- The class stzList
- The area's reference: Collections & objects
- The other methods in these examples: stzList.Contains · stzList.DeepContains · stzList.DeepContainsBoth · stzList.DeepContainsNOfThese · stzList.DeepContainsOneOfThese · stzList.Find · stzList.FindAll · stzList.FindLast · stzList.FindNext · stzList.FindNth · stzList.FindNthNext · stzList.FindNthPrevious

