3760D |
SubMetaOb
|
( meta #start #end → meta' )
Gets a sub-meta. Does range checks.
|
37685 |
SubMetaOb1
|
( ob1..obi..obn #n #i #n #i → ob1..obi #n #i )
This function can be used to take the first i
objects of a meta, if you follow it with
SWAPDROP . Example:
:: %1 %2 %3 %4 %5 BINT5
BINT3 BINT5 BINT3
SubMetaOb1 ;
results in:
%1 %2 %3 #5 #3
|
33F006 |
^submeta
|
( meta #begin #end → meta' )
Extracts submeta from a meta.
|
2F356 |
metatail
|
( ob1..obn-i..obn #i #n+1 → ob1..ob..obn-i #n-i obn-i+1..obn #i )
#n is the count of the objects in meta. Takes
the last #i elements of meta and creates a
new one. Example:
:: %1 %2 %3 %4 %5
BINT2 BINT6 metatail ;
Results:
%1 %2 %3 #3 %4 %5 #2
|
385006 |
^metasplit
|
( meta #i → meta1 meta2 )
Split a meta in 2 metas at position i.
meta1 will contain #i elements
meta2 will contain #n-i elements.
|
39F006 |
^metaEQUAL?
|
( meta2 meta1 → meta2 meta1 flag )
Test equality of 2 metas.
|
3BF006 |
^EQUALPOSMETA
|
( Meta ob → Meta ob #pos )
Returns last occurrence of ob in Meta. If a
component of meta is a list/symb then search
if ob is embedded in this component of meta.
|
3C0006 |
^EQUALPOS2META
|
( Meta2 Meta1 ob → Meta2 Meta1 ob #pos )
Returns last occurrence of ob in Meta1 or in
Meta2. #pos is >0 if in meta2, is <0 if in
meta1 (#pos=MINUSONE-#).
|
198006 |
^METAINT?
|
( Meta → Meta flag )
Tests if Meta is an integer.
|
199006 |
^METAPOSINT?
|
( Meta → Meta flag )
Tests if Meta is a positive integer smaller
than Zsmall.
|