Perl - ลูป
อาจมีสถานการณ์ที่คุณต้องเรียกใช้บล็อกโค้ดหลาย ๆ ครั้ง โดยทั่วไปคำสั่งจะดำเนินการตามลำดับ: คำสั่งแรกในฟังก์ชันจะถูกเรียกใช้งานก่อนตามด้วยคำสั่งที่สองและอื่น ๆ
ภาษาโปรแกรมจัดเตรียมโครงสร้างการควบคุมต่างๆที่ช่วยให้เส้นทางการดำเนินการซับซ้อนมากขึ้น
คำสั่งวนซ้ำช่วยให้เราดำเนินการคำสั่งหรือกลุ่มของคำสั่งได้หลายครั้งและต่อไปนี้เป็นรูปแบบทั่วไปของคำสั่งลูปในภาษาโปรแกรมส่วนใหญ่ -
ภาษาการเขียนโปรแกรม Perl จัดเตรียมประเภทของลูปต่อไปนี้เพื่อจัดการกับข้อกำหนดการวนซ้ำ
ซีเนียร์ | ประเภทห่วงและคำอธิบาย |
---|---|
1 | ในขณะที่วนซ้ำ ทำซ้ำคำสั่งหรือกลุ่มของคำสั่งในขณะที่เงื่อนไขที่กำหนดเป็นจริง จะทดสอบเงื่อนไขก่อนที่จะดำเนินการร่างกายลูป |
2 | จนกว่าจะวนซ้ำ ทำซ้ำคำสั่งหรือกลุ่มของคำสั่งจนกว่าเงื่อนไขที่กำหนดจะกลายเป็นจริง จะทดสอบเงื่อนไขก่อนที่จะดำเนินการร่างกายลูป |
3 | สำหรับห่วง เรียกใช้ลำดับของคำสั่งหลาย ๆ ครั้งและย่อโค้ดที่จัดการตัวแปรลูป |
4 | ห่วงหน้า foreach loop วนซ้ำบนค่ารายการปกติและตั้งค่าตัวแปร VAR เป็นแต่ละองค์ประกอบของรายการตามลำดับ |
5 | ทำ ... ในขณะที่วนซ้ำ เช่นเดียวกับคำสั่ง while ยกเว้นว่าจะทดสอบเงื่อนไขที่ส่วนท้ายของตัวห่วง |
6 | ลูปที่ซ้อนกัน คุณสามารถใช้ลูปหนึ่งหรือหลายวงในอีกอันในขณะที่สำหรับหรือทำ .. ในขณะที่ลูป |
คำสั่งควบคุมลูป
คำสั่งควบคุมแบบวนซ้ำเปลี่ยนการดำเนินการจากลำดับปกติ เมื่อการดำเนินการออกจากขอบเขตอ็อบเจ็กต์อัตโนมัติทั้งหมดที่สร้างขึ้นในขอบเขตนั้นจะถูกทำลาย
Perl สนับสนุนคำสั่งควบคุมต่อไปนี้ คลิกลิงก์ต่อไปนี้เพื่อตรวจสอบรายละเอียด
ซีเนียร์ | คำชี้แจงและคำอธิบายการควบคุม |
---|---|
1 | คำสั่งต่อไป ทำให้ลูปข้ามส่วนที่เหลือของร่างกายและทดสอบสภาพของมันใหม่ทันทีก่อนที่จะย้ำอีกครั้ง |
2 | คำสั่งสุดท้าย ยุติคำสั่งลูปและโอนการดำเนินการไปยังคำสั่งทันทีตามลูป |
3 | ดำเนินการต่อ บล็อกต่อไปจะดำเนินการก่อนที่เงื่อนไขจะถูกประเมินอีกครั้งเสมอ |
4 | ทำซ้ำคำสั่ง คำสั่งทำซ้ำจะรีสตาร์ทบล็อกลูปโดยไม่ต้องประเมินเงื่อนไขอีกครั้ง บล็อกดำเนินการต่อถ้ามีจะไม่ดำเนินการ |
5 | คำสั่ง goto Perl รองรับคำสั่ง goto ด้วยสามรูปแบบ: goto label, goto expr และ goto & name |
ห่วงไม่มีที่สิ้นสุด
ลูปจะกลายเป็นลูปไม่มีที่สิ้นสุดหากเงื่อนไขไม่เคยเป็นเท็จ forloop ถูกใช้เพื่อจุดประสงค์นี้ เนื่องจากไม่มีทั้งสามนิพจน์ที่สร้างไฟล์for จำเป็นต้องมีการวนซ้ำคุณสามารถสร้างการวนซ้ำที่ไม่มีที่สิ้นสุดโดยปล่อยให้นิพจน์เงื่อนไขว่างเปล่า
#!/usr/local/bin/perl
for( ; ; ) {
printf "This loop will run forever.\n";
}
คุณสามารถยุติการวนซ้ำแบบไม่มีที่สิ้นสุดข้างต้นได้โดยกดปุ่ม Ctrl + C
เมื่อไม่มีนิพจน์เงื่อนไขจะถือว่าเป็นจริง คุณอาจมีนิพจน์การเริ่มต้นและการเพิ่มขึ้น แต่ในฐานะโปรแกรมเมอร์มักใช้โครงสร้าง for (;;) เพื่อแสดงถึงการวนซ้ำที่ไม่มีที่สิ้นสุด