Ignore Pattern


The ignore pattern always successfully matches against anything and does nothing.

BNF:
"_"
XML DTD:
<!ELEMENT ignorePattern EMPTY>
Java:
Pattern match implicitly succeeds without generating any code
Example:
Checks that we have a pair while extracting the first element and ignoring the second element.
def [first, _] := pair
in Kernel-E:
def [first :any, _] := pair
in XML:
<defineExpr>
 <listPattern>
 <finalPattern>
 <Noun>first</Noun>
 <Noun>any</Noun>
 </finalPattern>
 <ignorePattern/>
 </listPattern>
 <Noun>pair</Noun>
</defineExpr>
in Java:
Object specimen = pair;
if (!isList(specimen)) { throw(...); }
Integer len = E.toInteger(E.call(specimen, "size"));
if (len.intValue() != 2) { throw(...); }
final Object first = E.call(specimen, "get", 0);
# we hope to optimize this out this last useless call
E.call(specimen, "get", 1);

x

Unless stated otherwise, all text on this page which is either unattributed or by Mark S. Miller is hereby placed in the public domain.

AltStyle によって変換されたページ (->オリジナル) /