Az OPA programozási nyelv

Mintaillesztés

Mintaillesztés

A mintaillesztés általános szintaxisa:

match(< expr >){ case < pattern_1 > : < expr_1 > case < pattern_2 > : < expr_2 > ... case < pattern_n : < expr_n > default : < expr_default > }

Kiértékelése következő képen történik: < expr >-t összehasonlítja a < pattern_1 >-el, ha megfelelő végrehajtja az < expr_1 > utasítást, ha nem akkor folytatja a vizsgálatot az < expr_2 >-vel, és így tovább. Ha nincs mintaegyezés akkor az < expr_default > utasítás kerül végrehajtása. A default értéket nem kötelező megadni. Mintaillesztést végezhetünk a szabványos if-then-else szerkezettel is.

if(1 == 2){ println("Valami baj van a rendszerrel") } else { println("Erre gondltam") }

Az alábbi kódrészlet teljesen ekvivalens a fentebb található if-then-else szerkezetes megoldással.

match(1 == 2){ case {true} : println("Valami baj van a rendszerrel") case {false} : println("Erre gondltam") }

Matching szabályok