คำสั่งเงื่อนไข
คำสั่งเงื่อนไขมีประโยชน์สำหรับควบคุมวิธีที่โปรแกรมทำงาน
ไวยากรณ์
Whamm รองรับตัวบ่งชี้ 3 แบบสำหรับคำสั่งเงื่อนไข:
บล็อก if/else ทั้งหมดต้องเริ่มต้นด้วยคำสั่ง if จากนั้นตามด้วยคำสั่ง elif จำนวนเท่าใดก็ได้ และคำสั่ง else อีก 0 หรือ 1 อัน สุดท้ายทั้งเชนต้องปิดด้วย ;
ไวยากรณ์ทางการ
“if” ~ “(” ~ expr ~ “)” ~ “{” ~ statement* ~ “}” ~ (else | elif) ? ~ “;”
โดย elif คือ: “elif” ~ “(” ~ expr ~ “)” ~ “{” ~ statement* ~ “}” ~ (else| elif) ?
และ else คือ: “else” ~ “{” ~ statement* ~ “}”
ตัวอย่างคำสั่งเงื่อนไข
var a: i32 = 5;
if (a == 5) {
a = 3;
};
var a: i32 = 5;
if (a == 4){
a = 3;
}elif (a == 3){
a = 2;
}elif (a == 5){
a = 1;
};
//This is an example in a function that returns a bool
my_fn (param: i32) -> bool {
return (param/10 == 0);
}
var a: i32 = 5;
if(my_fn(a)) {
a = 3;
}else{
a = 2;
};
การประเมินแบบลัดวงจร
นิพจน์เงื่อนไขจะประเมินเฉพาะกิ่งที่ตรงกับค่าของเงื่อนไขเท่านั้น พูดอีกอย่างคือ มันลัดวงจรนั่นเอง