Basic examples (2)
oMx = new stzMatrex("{size(1x1)}")
aMatrix = [[42]]
? oMx.Match(aMatrix)1
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 45_1x1_matrix.ring(opens in a new tab)
oMx = new stzMatrex("{}")
aMatrix = [[1, 2], [3, 4]]
? oMx.Match(aMatrix)1
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 44_empty_pattern.ring(opens in a new tab)
Scope (8)
oMx = new stzMatrex("{shape(square)}")
aMatrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
oMx.Match(aMatrix)
? @@( oMx.Size() )[ 4, 4 ]
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 37_get_size_from_matched_parts.ring(opens in a new tab)
oMx = new stzMatrex("{shape(square)}")
aSquare = [[1, 2], [3, 4]]
aRect = [[1, 2, 3], [4, 5, 6]]
? oMx.Match(aSquare)
? oMx.Match(aRect)1 0
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 04_square_matrix.ring(opens in a new tab)
oMx = new stzMatrex("{shape(rectangular)}")
aSquare = [[1, 2], [3, 4]]
aRect = [[1, 2, 3], [4, 5, 6]]
? oMx.Match(aSquare)
? oMx.Match(aRect)0 1
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 05_rectangular_matrix.ring(opens in a new tab)
oMx = new stzMatrex("{(shape(square) | shape(rectangular))}")
aSquare = [[1, 2], [3, 4]]
aRect = [[1, 2, 3], [4, 5, 6]]
? oMx.Match(aSquare)
? oMx.Match(aRect)1 1
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 19_square_or_rectangular_alternation.ring(opens in a new tab)
oMx = new stzMatrex("{Size(3x3)}")
aMatrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
? oMx.Match(aMatrix)1
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 01_matching_exact_size.ring(opens in a new tab)
oMx = new stzMatrex("{size(2x2)}")
aMatrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
? oMx.Match(aMatrix)0
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 02_matching_wrong_size.ring(opens in a new tab)
oMx = new stzMatrex("{size(mxn)}")
aMatrix1 = [[1, 2], [3, 4]]
aMatrix2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
aMatrix3 = [[1, 2, 3, 4]]
? oMx.Match(aMatrix1)
? oMx.Match(aMatrix2)
? oMx.Match(aMatrix3)1 1 1
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 03_matching_any_size_mxn_notation.ring(opens in a new tab)
oMx = new stzMatrex("{property(identity)}")
aMatrix = [
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]
]
oMx.Match(aMatrix)
? oMx.Properties()Square Symmetric Diagonal Identity
run on 2026-10-02 04:23 inside the library at commit 0e72e2e2c; taken from 38_get_properties_list.ring(opens in a new tab)
and 17 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 stzMatrex
- The area's reference: Pattern matching
- The other methods in these examples: stzMatrex.AddConstraint · stzMatrex.Properties · stzMatrex.Size

