คำถามติดแท็ก control-flow

30
วิธีการแบ่งออกเป็นหลายลูป
รับรหัสต่อไปนี้ (ที่ใช้งานไม่ได้): while True: #snip: print out current state while True: ok = get_input("Is this ok? (y/n)") if ok.lower() == "y": break 2 #this doesn't work :( if ok.lower() == "n": break #do more processing with menus and stuff มีวิธีที่จะทำให้งานนี้หรือไม่? หรือฉันจะตรวจสอบหนึ่งครั้งเพื่อแยกออกจากลูปอินพุทจากนั้นอีก จำกัด มากขึ้นตรวจสอบในลูปภายนอกเพื่อแยกออกทั้งหมดด้วยกันถ้าผู้ใช้พอใจ?

30
จะหลีกเลี่ยงการเชื่อมโยง“ ถ้า” ได้อย่างไร?
สมมติว่าฉันมีรหัสหลอกนี้: bool conditionA = executeStepA(); if (conditionA){ bool conditionB = executeStepB(); if (conditionB){ bool conditionC = executeStepC(); if (conditionC){ ... } } } executeThisFunctionInAnyCase(); ฟังก์ชั่นexecuteStepXควรจะดำเนินการถ้าหากว่าก่อนหน้านี้ประสบความสำเร็จ ไม่ว่าในกรณีใดexecuteThisFunctionInAnyCaseฟังก์ชันควรถูกเรียกใช้ในตอนท้าย ฉันเป็นมือใหม่ในการเขียนโปรแกรมดังนั้นขออภัยสำหรับคำถามพื้นฐานมาก: มีวิธี (ใน C / C ++ เป็นต้น) เพื่อหลีกเลี่ยงifสายโซ่ยาว ๆ ที่ผลิต "pyramid of code" ที่ค่าใช้จ่ายของการอ่านรหัสได้ง่าย ? ฉันรู้ว่าถ้าเราสามารถข้ามการexecuteThisFunctionInAnyCaseเรียกใช้ฟังก์ชันรหัสอาจง่ายขึ้นเป็น: bool conditionA = executeStepA(); if (!conditionA) return; …

8
Swift: Guard let vs if let
ฉันได้อ่านเกี่ยวกับ Optionals ใน Swift และฉันได้เห็นตัวอย่างที่if letใช้ตรวจสอบว่าตัวเลือกนั้นมีค่าหรือไม่และในกรณีที่เป็นเช่นนั้นให้ทำบางอย่างกับค่าที่ไม่ได้ใส่ อย่างไรก็ตามฉันได้เห็นว่าใน Swift 2.0 guard letมักใช้คำหลักเป็นส่วนใหญ่ ฉันสงสัยว่าif letถูกลบออกจาก Swift 2.0 หรือยังคงสามารถใช้งานได้ ฉันควรเปลี่ยนโปรแกรมของฉันที่มีif letถึงguard let?

13
วิธีออกจาก if clause
มีวิธีการอะไรบ้างสำหรับการออกจากไฟล์ ifประโยค ? มีหลายครั้งที่ฉันกำลังเขียนโค้ดและต้องการใส่breakคำสั่งไว้ในifประโยคเพียงเพื่อจำไว้ว่าสิ่งเหล่านี้สามารถใช้ได้กับลูปเท่านั้น ให้ใช้รหัสต่อไปนี้เป็นตัวอย่าง: if some_condition: ... if condition_a: # do something # and then exit the outer if block ... if condition_b: # do something # and then exit the outer if block # more code here ฉันคิดวิธีหนึ่งในการทำเช่นนี้: สมมติว่ากรณีการออกเกิดขึ้นภายในคำสั่ง if ที่ซ้อนกันห่อรหัสที่เหลือในบล็อกขนาดใหญ่ ตัวอย่าง: if some_condition: ... if condition_a: # …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.