คำถามติดแท็ก loops

ลูปเป็นประเภทของโครงสร้างการควบคุมโฟลว์ในการโปรแกรมซึ่งชุดของข้อความสั่งอาจถูกดำเนินการซ้ำ ๆ จนกว่าจะตรงตามเงื่อนไขบางประการ

27
ฉันจะเพิ่มความล่าช้าในการวนซ้ำ JavaScript ได้อย่างไร
ฉันต้องการที่จะเพิ่มความล่าช้า / การนอนหลับภายในwhileวง: ฉันลองแบบนี้: alert('hi'); for(var start = 1; start < 10; start++) { setTimeout(function () { alert('hello'); }, 3000); } เฉพาะสถานการณ์แรกเท่านั้นที่เป็นจริง: หลังจากแสดงalert('hi')แล้วจะรอ 3 วินาทีจากนั้นalert('hello')จะปรากฏขึ้น แต่alert('hello')จะซ้ำ ๆ กันตลอดเวลา สิ่งที่ฉันต้องการคือหลังจากนั้นalert('hello')จะปรากฏขึ้น 3 วินาทีหลังจากalert('hi')นั้นต้องรอเป็นเวลา 3 วินาทีเป็นครั้งที่สองalert('hello')เป็นต้น
346 javascript  loops  sleep 

12
อะไรคือวิธีที่“ ถูกต้อง” ในการวนซ้ำในอาร์เรย์ใน Ruby
PHP สำหรับหูดทั้งหมดมันค่อนข้างดีในการนับนี้ ไม่มีความแตกต่างระหว่างอาเรย์และแฮช (บางทีฉันไร้เดียงสา แต่นี่ดูเหมือนจะถูกต้องสำหรับฉัน) และเพื่อย้ำผ่านคุณเพียงแค่ทำ foreach (array/hash as $key => $value) ใน Ruby มีหลายวิธีที่จะทำสิ่งนี้: array.length.times do |i| end array.each array.each_index for i in array Hashes มีเหตุผลมากกว่านี้เพราะฉันใช้เสมอ hash.each do |key, value| เหตุใดฉันจึงไม่สามารถทำสิ่งนี้กับอาร์เรย์ได้ ถ้าผมต้องการที่จะจำเพียงหนึ่งวิธีที่ผมคิดว่าผมสามารถใช้each_index(ตั้งแต่มันทำให้ทั้งดัชนีและความคุ้มค่าที่มีอยู่) แต่มันน่ารำคาญที่จะต้องทำแทนเพียงarray[index]value โอ้ใช่ฉันลืมไปarray.each_with_indexแล้ว อย่างไรก็ตามอันนี้ครับเพราะมันไป|value, key|และhash.eachไป|key, value|! นี่มันไม่บ้าเหรอ?
341 ruby  arrays  loops 

8
ฉันจะข้ามการวนซ้ำของ foreach ได้อย่างไร
ใน Perl ฉันสามารถข้ามการวนซ้ำ foreach (หรือวนซ้ำใด ๆ ) ด้วยnext;คำสั่ง มีวิธีข้ามการทำซ้ำและข้ามไปยังลูปถัดไปใน C # หรือไม่ foreach (int number in numbers) { if (number < 0) { // What goes here to skip over the loop? } // otherwise process number }
324 c#  .net  loops 

3
วนซ้ำทุกปุ่มบนแผนที่
มีวิธีรับรายการคีย์ทั้งหมดในแผนที่ภาษา Go หรือไม่? จำนวนองค์ประกอบถูกกำหนดโดยlen()แต่ถ้าฉันมีแผนที่เช่น: m := map[string]string{ "key1":"val1", "key2":"val2" }; ฉันจะทำซ้ำคีย์ทั้งหมดได้อย่างไร
316 loops  dictionary  go 

25
ความแตกต่างระหว่างการประกาศตัวแปรก่อนหรือในวง?
ฉันสงสัยอยู่เสมอว่าโดยทั่วไปแล้วการประกาศตัวแปรแบบโยนทิ้งต่อหน้าวงหนึ่งซึ่งต่างจากการวนซ้ำภายในวงทำให้เกิดความแตกต่าง (ประสิทธิภาพ) ไหม? ตัวอย่าง(ค่อนข้างไม่มีจุดหมาย)ใน Java: a)การประกาศก่อนลูป: double intermediateResult; for(int i=0; i < 1000; i++){ intermediateResult = i; System.out.println(intermediateResult); } b)การประกาศ (ซ้ำ) ภายในวง: for(int i=0; i < 1000; i++){ double intermediateResult = i; System.out.println(intermediateResult); } เป็นที่หนึ่งที่ดีกว่าหรือข ? ฉันสงสัยว่าการประกาศตัวแปรซ้ำ (ตัวอย่างb ) สร้างค่าใช้จ่ายมากขึ้นในทางทฤษฎีแต่คอมไพเลอร์นั้นฉลาดพอที่จะไม่สำคัญ ตัวอย่างbมีข้อได้เปรียบของการกระชับและ จำกัด ขอบเขตของตัวแปรที่จะใช้ แต่ฉันก็ยังมีแนวโน้มที่จะรหัสตามตัวอย่าง แก้ไข:ฉันสนใจกรณี Java เป็นพิเศษ

19
มีวิธีที่ดีกว่าในการรันคำสั่ง N ครั้งในการทุบตี?
ฉันรัน bash command line เป็นครั้งคราวเช่นนี้ n=0; while [[ $n -lt 10 ]]; do some_command; n=$((n+1)); done หากต้องการเรียกใช้some_commandจำนวนครั้งในแถว - 10 ครั้งในกรณีนี้ บ่อยครั้งsome_commandเป็นสายของคำสั่งหรือไปป์ไลน์ มีวิธีรัดกุมกว่านี้หรือไม่?
304 bash  loops 

4
ฉันจะแยกออกจากวงใน Perl ได้อย่างไร
ฉันพยายามที่จะใช้breakคำสั่งในforวง แต่เนื่องจากฉันยังใช้หมวดย่อยอย่างเข้มงวดในรหัส Perl ของฉันฉันได้รับข้อผิดพลาดว่า: Bareword "break" ไม่ได้รับอนุญาตในขณะที่ใช้ "subs subs" อย่างเข้มงวดที่. /final.pl บรรทัดที่ 154 มีวิธีแก้ปัญหาสำหรับสิ่งนี้ (นอกเหนือจากการปิดใช้งานหมวดย่อยที่เข้มงวด)? รหัสของฉันมีรูปแบบดังนี้: for my $entry (@array){ if ($string eq "text"){ break; } }
295 perl  loops  break  strict 

9
ฉันจะวนซ้ำแผนที่ C ++ ของแผนที่ได้อย่างไร
ฉันจะวนซ้ำstd::mapใน C ++ ได้อย่างไร แผนที่ของฉันถูกกำหนดเป็น: std::map< std::string, std::map<std::string, std::string> > ตัวอย่างเช่นคอนเทนเนอร์ด้านบนเก็บข้อมูลดังนี้: m["name1"]["value1"] = "data1"; m["name1"]["value2"] = "data2"; m["name2"]["value1"] = "data1"; m["name2"]["value2"] = "data2"; m["name3"]["value1"] = "data1"; m["name3"]["value2"] = "data2"; ฉันจะวนลูปผ่านแผนที่นี้และเข้าถึงค่าต่างๆได้อย่างไร?


12
การเรียกซ้ำเป็นเร็วกว่าการวนซ้ำหรือไม่
ฉันรู้ว่าการเรียกซ้ำเป็นบางครั้งมากกว่าการวนซ้ำและฉันไม่ได้ถามอะไรเมื่อฉันควรใช้การเรียกซ้ำผ่านการทำซ้ำฉันรู้ว่ามีคำถามมากมายเกี่ยวกับเรื่องนั้นแล้ว สิ่งที่ฉันขอเป็นเป็น recursion เคยเร็วกว่าห่วง? สำหรับฉันแล้วดูเหมือนว่าคุณจะสามารถปรับแต่งลูปและทำให้มันทำงานได้เร็วกว่าฟังก์ชั่นวนซ้ำเพราะลูปไม่ได้ตั้งค่าเฟรมสแต็กใหม่อย่างต่อเนื่อง ฉันกำลังค้นหาว่าการเรียกซ้ำซ้ำเร็วกว่าในแอปพลิเคชันหรือไม่ซึ่งการเรียกซ้ำเป็นวิธีที่ถูกต้องในการจัดการข้อมูลเช่นในฟังก์ชันเรียงลำดับบางอย่างในต้นไม้ไบนารีเป็นต้น

17
Batch script loop
ฉันต้องดำเนินการคำสั่ง 100-200 ครั้งและจนถึงขณะนี้การวิจัยของฉันระบุว่าฉันจะต้องคัดลอก / วาง 100 สำเนาของคำสั่งนี้หรือใช้forวง แต่forห่วงคาดว่ารายการของรายการดังนั้นฉันจะต้อง 200 ไฟล์ที่จะใช้งานหรือรายการ 200 รายการเอาชนะจุด ฉันไม่ต้องการเขียนโปรแกรม C และทำตามความยาวของเอกสารว่าทำไมฉันต้องเขียนโปรแกรมอื่นเพื่อรันโปรแกรมของฉันเพื่อการทดสอบ การปรับเปลี่ยนโปรแกรมของฉันเองก็ไม่ใช่ตัวเลือก ดังนั้นเมื่อได้รับคำสั่งaฉันจะรันมันอย่างไรNผ่านสคริปต์แบทช์ หมายเหตุ: ฉันไม่ต้องการวงวนไม่สิ้นสุด ตัวอย่างเช่นนี่คือสิ่งที่ดูเหมือนใน Javascript: var i; for (i = 0; i < 100; i++) { console.log( i ); } ดูเหมือนว่าในสคริปต์ชุดงานที่ทำงานบน Windows

15
มีวิธีการเข้าถึงตัวนับซ้ำในแต่ละวงของ Java หรือไม่?
มีวิธีในการวนรอบของ Java สำหรับแต่ละ for(String s : stringArray) { doSomethingWith(s); } เพื่อดูว่ามีการประมวลผลลูปบ่อยแค่ไหน? นอกเหนือจากการใช้ลูปเก่าและที่รู้จักกันดีfor(int i=0; i < boundary; i++)- ลูปเป็นโครงสร้าง int i = 0; for(String s : stringArray) { doSomethingWith(s); i++; } วิธีเดียวที่จะมีตัวนับเช่นนี้ในแต่ละลูป?
274 java  loops  for-loop  foreach 


30
วงกลับเร็วขึ้นจริงๆหรือ
ฉันเคยได้ยินเรื่องนี้ค่อนข้างน้อย JavaScript มีการวนซ้ำเร็วขึ้นจริงหรือไม่เมื่อนับถอยหลัง ถ้าเป็นเช่นนั้นทำไม ฉันเห็นตัวอย่างชุดทดสอบสองสามตัวอย่างที่แสดงว่าลูปที่กลับด้านนั้นเร็วกว่า แต่ฉันไม่สามารถหาคำอธิบายได้ว่าทำไม! ฉันสมมติว่าเป็นเพราะลูปไม่ต้องประเมินคุณสมบัติทุกครั้งที่ตรวจสอบเพื่อดูว่ามันเสร็จแล้วและตรวจสอบกับค่าตัวเลขสุดท้าย กล่าวคือ for (var i = count - 1; i >= 0; i--) { // count is only evaluated once and then the comparison is always on 0. }

10
วิธี Pythonic เพื่อรวมคำสั่ง FOR สำหรับลูปและ IF
ฉันรู้วิธีใช้ทั้งลูปและ if statement ในบรรทัดแยกเช่น: >>> a = [2,3,4,5,6,7,8,9,0] ... xyz = [0,12,4,6,242,7,9] ... for x in xyz: ... if x in a: ... print(x) 0,4,6,7,9 และฉันรู้ว่าฉันสามารถใช้ list comprehension เพื่อรวมสิ่งเหล่านี้เมื่อข้อความง่าย ๆ เช่น: print([x for x in xyz if x in a]) แต่สิ่งที่ฉันไม่สามารถหาได้เป็นตัวอย่างที่ดีที่ใดก็ได้ (เพื่อคัดลอกและเรียนรู้จาก) แสดงชุดคำสั่งที่ซับซ้อน (ไม่ใช่แค่ "พิมพ์ x") ที่เกิดขึ้นหลังจากการรวมกันของ for for loop …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.