วงจร Perl
บางครั้งเราอาจจำเป็นต้องดำเนินการซ้ำแล้วซ้ำอีกชิ้นเดียวกันของรหัส ตามลำดับภายใต้สถานการณ์ปกติงบจะดำเนินการ: คำแรกในการทำงานดำเนินการก่อนและตามด้วยคำสั่งที่สองและอื่น ๆ
การเขียนโปรแกรมภาษาให้โครงสร้างการควบคุมต่างๆเส้นทางการดำเนินการที่ซับซ้อนมากขึ้น
ลูปช่วยให้เราซ้ำไปซ้ำมาดำเนินการคำสั่งหรือกลุ่มของงบต่อไปนี้คือการเขียนโปรแกรมภาษาแผนภูมิการไหลห่วงมากที่สุด ?:
โปรดทราบว่าหมายเลข 0, สตริง '0', "" รายการที่ว่างเปล่า () และ undefเป็นเท็จค่าอื่น ๆ เป็นจริงใช้หน้าจริงหรือไม่ก็กลับเท็จ
ภาษา Perl ให้บริการประเภทวงจรต่อไปนี้:
ประเภทของวงจร | ลักษณะ |
---|---|
เมื่อได้รับสภาพเป็นจริงคำสั่งหรือกลุ่มของงบดำเนินการซ้ำแล้วซ้ำอีก เงื่อนไขการทดสอบจะถูกดำเนินการก่อนที่ร่างของวง | |
ทำซ้ำคำสั่งหรือกลุ่มของงบจนกว่าเงื่อนไขที่กำหนดเป็นความจริง เงื่อนไขการทดสอบจะถูกดำเนินการก่อนที่ร่างของวง | |
ซ้ำ ๆ ดำเนินการลำดับของงบการลดความซับซ้อนของการจัดการรหัสตัวแปรห่วง | |
ห่วง foreach จะใช้ในการย้ำรายการหรือชุดของค่าของตัวแปรหนึ่ง | |
ยกเว้นว่าจะอยู่ในร่างกายของวงในตอนท้ายของเงื่อนไขการทดสอบในขณะที่งบอื่นที่คล้ายคลึงกัน | |
คุณสามารถใช้หนึ่งหรือมากกว่าหนึ่งของวงในขณะที่สำหรับ do..while หรือห่วง |
งบการควบคุมวง
งบการควบคุมวงเปลี่ยนลำดับของการดำเนินการของรหัสผ่านที่คุณสามารถกระโดดรหัส
Perl ให้งบการควบคุมวงต่อไปนี้:
งบการควบคุม | ลักษณะ |
---|---|
เริ่มต้นต่อไปหยุดคำสั่งการดำเนินการคำสั่งต่อไปห่วงระหว่างปลายของตัวระบุคำสั่งให้เปิดเพื่อดำเนินการต่อการดำเนินงานของกลุ่มคำสั่งและจากนั้นกลับไปที่จุดเริ่มต้นของร่างกายวงเริ่มรอบถัดไป | |
ออกคำสั่งบล็อกห่วงจึงยุติวงจร | |
ดำเนินการต่อบล็อกคำสั่งมักจะดำเนินการก่อนที่ผู้พิพากษางบอีกครั้งตามเงื่อนไข | |
ทำซ้ำงบโดยตรงไปยังบรรทัดแรกของร่างกายวงเริ่มต้นทำซ้ำรอบนี้งบจะไม่ดำเนินการคำสั่งทำซ้ำคำสั่งดำเนินการต่อบล็อกจะไม่ดำเนินการ; | |
Perl มีสามรูปแบบของโกโตะ: มี lable โกโตะ expr และข้ามไปและ NAME |
Infinite Loop
ถ้าเงื่อนไขเป็นเท็จไม่เคยห่วงกลายเป็นวง จำกัด
สำหรับการไหลเวียนในความหมายดั้งเดิมก็สามารถนำมาใช้ในการดำเนินวง จำกัด
ตั้งแต่สามแสดงออกเป็นการใดคนหนึ่งในรอบไม่จำเป็นต้องคุณจะมั่นใจได้ว่างเปล่านิพจน์เงื่อนไขในรูปแบบวง จำกัด
#!/usr/bin/perl for( ; ; ) { printf "循环会无限执行。\n"; }
คุณสามารถกดปุ่ม Ctrl + C เพื่อหยุด
เมื่อนิพจน์เงื่อนไขไม่อยู่ก็จะถือว่าเป็นความจริง นอกจากนี้คุณยังสามารถตั้งค่าเริ่มต้นและการแสดงออกเพิ่มขึ้น แต่ภายใต้สถานการณ์ปกติโปรแกรมเมอร์ Perl ชอบที่จะใช้สำหรับ (;;) โครงสร้างเพื่อเป็นตัวแทนของวง จำกัด