# while loop คืออะไร การใช้งาน while loop ในภาษา Rust แบบง่ายๆ
ในโลกของการเขียนโปรแกรม เราไม่สามารถหนีพ้นจากหลักการหนึ่งที่จำเป็นอย่างยิ่ง นั่นก็คือการทำซ้ำ (Iteration) และคำสั่งที่ช่วยให้เราทำซ้ำได้นั่นก็คือ "while loop". while loop เป็นโครงสร้างการควบคุมที่อนุญาตให้เราสามารถทำงานเมื่อเงื่อนไขเป็นจริง (true) แบบไม่สิ้นสุดจนกว่าเงื่อนไขจะเปลี่ยนเป็นเท็จ (false)
ภาษา Rust เป็นภาษาที่มีการจัดการหน่วยความจำได้อย่างปลอดภัย และมีการทำงานที่เร็วมาก การใช้ while loop ใน Rust ก็มีความเรียบง่ายไม่ต่างกัน ตัวอย่างการใช้งาน while loop ใน Rust คือ:
fn main() {
let mut number = 0;
while number < 5 {
println!("number คือ {}", number);
// ใส่โค้ดที่จะทำให้เงื่อนไขเปลี่ยนไป ไม่เช่นนั้นจะเกิดลูปไม่สิ้นสุด
number += 1;
}
println!("Loop จบลงเมื่อ number >= 5");
}
ขณะที่กำลังทำงานใน `while loop`, ข้อความ "number คือ x" จะถูกแสดงออกมาจนกว่า `number` จะมีค่าไม่น้อยกว่า 5 ทันทีที่ค่า `number` เพิ่มขึ้นเป็น 5, ลูปจะสิ้นสุด และโปรแกรมจะทำงานต่อที่วาด `println!` ด้านล่างของ `while`.
Usecase ในโลกจริงของ while loop
#### ตัวอย่างที่ 1: การอ่านข้อมูลจากไฟล์
use std::fs::File;
use std::io::{self, BufRead};
use std::path::Path;
fn main() -> io::Result<()> {
let path = Path::new("ข้อความ.txt");
let mut file = BufReader::new(File::open(&path)?);
let mut line = String::new();
while file.read_line(&mut line)? > 0 {
println!("{}", line);
line.clear(); // ล้างข้อความก่อนอ่านบรรทัดต่อไป
}
Ok(())
}
ในตัวอย่างนี้ `while loop` ใช้สำหรับอ่านข้อความทีละบรรทัดจากไฟล์จนกว่าจะถึงสิ้นสุดของไฟล์.
#### ตัวอย่างที่ 2: เกมการทายตัวเลข
use rand::Rng;
use std::io;
fn main() {
let secret_number = rand::thread_rng().gen_range(1..101);
loop {
println!("เดาตัวเลขที่ฉันคิดหน่อย!");
let mut guess = String::new();
io::stdin().read_line(&mut guess).expect("Failed to read line");
let guess: u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => continue,
};
if guess == secret_number {
println!("ยินดีด้วย! คุณทายถูกต้อง!");
break;
} else {
println!("ลองอีกครั้ง!");
}
}
}
ที่นี่ `while loop` (ใช้ `loop` ซึ่งเป็นรูปแบบพิเศษของ while true loop) ใช้ในการวนลูปรับค่าที่ผู้ใช้เดาจนกว่าจะตรงกับตัวเลขลับที่สุ่มขึ้น.
การเขียนโค้ดที่มีความยืดหยุ่นและเชื่อถือได้เป็นสิ่งสำคัญ และการใช้ while loop ในสถานการณ์ที่เหมาะสมนั้นเป็นทักษะที่พัฒนาได้ผ่านการปฏิบัติและการศึกษาอย่างต่อเนื่องที่ EPT (Expert-Programming-Tutor) หากคุณต้องการเรียนการเขียนโค้ดอย่างมืออาชีพและเข้าใจการใช้ loops ให้ดียิ่งขึ้น และถ้าคุณอยากเข้าร่วมชุมชนของนักพัฒนาที่มีความสามารถ EPT เปิดประตูต้อนรับคุณ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: while_loop การใช้งาน_while_loop ภาษา_rust iteration looping programming ข้อมูลจากไฟล์ เกมการทายตัวเลข
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM