middle , middle include , middle until , middle until include
This function extracts a middle part of the set either with two element position numbers or matching elements or a combination of both.
Indirect parameter passing is disabled
Min 3
No. | Type | Description |
---|---|---|
1 input |
set | input set Attention: If 1st parameter is not a set, please refer to middle [string function] instead. |
2 input |
numeral | starting element position Positive: Begin with specified element (0 = 1st element, 1 = 2nd element, etc.) |
Alt. 2 input |
set | starting matching elements Function middle ...: Middle part of the set begins after the matching element. |
3 input |
numeral | element count or ending element position For function names middle until, this parameter contains the ending element position.
Negative numbers count from right to left: -1 = last set element included, -2 = 2nd last element included. |
Alt. 3 input |
set | ending matching elements Function outside ...: 2nd part of the set begins including the ending matching elemetn. |
Opt. 4+ io |
set | follower Other sets in addition to the one provided as the first function parameter can be extracted in the same same way. Add any number of additional set variables. They will be manipulated at the exact same positions as the returned value. |
Type | Description |
---|---|
set | Extracted subset |
set[] = { the, taste, of, the, 12, coffees, '!' };
echo( middle( set[], 4, 2 ), " / ", middle until( set[], 1, 5 ) );
echo( middle( set[], -3, 2 ), " / ", middle until( set[], -6, -2 ) );
echo;
echo( middle( set[], 99, 3 ), " / ", middle until ( set[], 99, 3 ) ); // empty sets
echo( middle( set[], -99, 3 ), " / ", middle until ( set[], -99, 3 ) ); // the taste of / ... the
echo;
echo( middle( set[], {taste}, 4 ), " / ", middle include( set[], {taste}, 4 ) ); // 4 elements in both cases
echo( middle until( set[], {taste}, -2 ), " / ", middle until include( set[], {taste}, -2 ) );
echo( middle ( set[], {taste}, {coffees} ), " / ", middle include( set[], {taste}, {coffees} ) );
echo( middle ( set[], {}, {coffees} ), " / ", middle include( set[], {taste}, {} ) );
echo( middle ( {}, {}, {coffees} ), " / ", middle include( {}, {taste}, {} ) ); // empty sets
echo;
echo( "Demonstrate the follower feature: ");
set2[] = { A, fragrance, coming, from, 120, espressos, '!' };
set3[] = { Der, Geschmack, kommt, von, 120, Tassen Kaffee, '!' };
echo( "Extraction 1: ", middle( set[], {of}, 3, set2[], set3[] ) );
echo( "Extraction 2: ", set2[] );
echo( "Extraction 3: ", set3[] );
{12,'coffees'} / {'taste','of','the',12,'coffees'}
{12,'coffees'} / {'taste','of','the',12,'coffees'}
{} / {}
{'the','taste','of'} / {'the','taste','of','the'}
{'of','the',12,'coffees'} / {'taste','of','the',12}
{'of','the',12,'coffees'} / {'taste','of','the',12,'coffees'}
{'of','the',12} / {'taste','of','the',12,'coffees'}
{'the','taste','of','the',12} / {}
{} / {}
Demonstrate the follower feature:
Extraction 1: {'the',12,'coffees'}
Extraction 2: {'from',120,'espressos'}
Extraction 3: {'von',120,'Tassen Kaffee'}
left [set function]
right [set function]
outside [set function]
middle [string function]