Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

คำสั่งเงื่อนไข

คำสั่งเงื่อนไขมีประโยชน์สำหรับควบคุมวิธีที่โปรแกรมทำงาน

ไวยากรณ์

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;
};

การประเมินแบบลัดวงจร

นิพจน์เงื่อนไขจะประเมินเฉพาะกิ่งที่ตรงกับค่าของเงื่อนไขเท่านั้น พูดอีกอย่างคือ มันลัดวงจรนั่นเอง