మ్యాచ్ ప్రకటన
పరిచయం
match స్టేట్మెంట్ అనేది ఒక విలువను బహుళ నమూనాలు మరియు శాఖలతో పోల్చే నియంత్రణ ప్రకటన.
if / else if చైన్ కంటే బ్రాంచ్ ఉద్దేశాన్ని మరింత స్పష్టంగా వ్యక్తీకరించడానికి ఇది ఉపయోగపడుతుంది.
ప్రస్తుతం, Wave యొక్క match స్టేట్మెంట్, మరియు నేరుగా విలువగా మూల్యాంకనం చేయబడిన వ్యక్తీకరణ ఫారమ్కు మద్దతు లేదు.
అంటే, var x = match (...) { ... } వంటి ఫారమ్లు ఉపయోగించబడవు.
ప్రాథమిక వ్యాకరణం
match (value) {
pattern1 => {
// అమలు బ్లాక్
}
pattern2 => {
// అమలు బ్లాక్
}
_ => {
// డిఫాల్ట్ బ్లాక్
}
}
వ్యాకరణ నియమాలు:
- హెడర్
match (expr)ఆకృతిని ఉపయోగిస్తుంది. - ప్రతి చేయి
pattern => { block }ఆకృతిని ఉపయోగిస్తుంది. - చేయి శరీరం తప్పనిసరిగా
{ ... }బ్లాక్ అయి ఉండాలి. - మీరు చేతుల మధ్య లైన్ బ్రేక్లను ఉపయోగించవచ్చు లేదా మీరు
,లేదా;ని సెపరేటర్గా ఉపయోగించవచ్చు.
నమూనా రకం
దిగువన మూడు ప్రస్తుతం మద్దతు ఉన్న నమూనాలు ఉన్నాయి.
- పూర్ణాంకం అక్షర నమూనా
0 => { ... }
1 => { ... }
42 => { ... }
- ఐడెంటిఫైయర్ నమూనా
Off => { ... }
On => { ... }
ఐడెంటిఫైయర్ నమూనాలు విలువలను ఉపయోగిస్తాయి, వీటిని పూర్ణాంక స్థిరాంకాలుగా enum వేరియంట్లుగా అర్థం చేసుకోవచ్చు.
- వైల్డ్కార్డ్ నమూనా (
_)
_ => { ... }
నమూనా సరిపోలనప్పుడు ఇది డిఫాల్ట్ చేయి అమలు చేయబడుతుంది.
సరిపోలే లక్ష్యం రకం
ప్రస్తుత అమలు ప్రకారం, match యొక్క లక్ష్య విలువ తప్పనిసరిగా పూర్ణాంకం/enum సిరీస్ అయి ఉండాలి.
స్ట్రింగ్లు, ఫ్లోటింగ్ పాయింట్ నంబర్లు, స్ట్రక్చర్లు మొదలైనవి match లక్ష్యాలుగా ఉపయోగించబడవు.
