เทียบเท่ากับ“ ดำเนินการต่อ” ในทับทิม


648

ใน C และภาษาอื่น ๆ มีcontinueคำสำคัญที่เมื่อใช้ภายในของลูปจะข้ามไปยังการวนซ้ำถัดไปของลูป continueทับทิมมีคำหลักใดที่เทียบเท่าหรือไม่


4
ดำเนินการต่อไม่ "รีสตาร์ท" ลูป แต่ข้ามไปยังการวนซ้ำครั้งถัดไปของลูป
Matt Crinklaw-Vogt

1
@mlaw: ฉันแก้ไขคำถามของฉันตามเพื่อป้องกันความสับสนในอนาคต
มาร์ค Szymanski

7
@dbr ข้อมูลที่ซ้ำกันที่คุณพบถูกถามหลังจากสิ่งนี้
Droogans

คำตอบ:


933

nextใช่ก็เรียกว่า

for i in 0..5
   if i < 2
     next
   end
   puts "Value of local variable is #{i}"
end

ผลลัพธ์นี้ต่อไปนี้:

Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
 => 0..5 

13
นี่คือสิ่งที่ฉันจำได้ - ทับทิมเคารพ Perl ( next) ด้านบน C ( continue)
พันเอก Panic

111

next

ดูที่redoการทำซ้ำการทำซ้ำปัจจุบัน


39
... สาเหตุทับทิมเป็นเช่นนั้น
matt walters

1
Ruby ยืมมาจาก Perl มากรวมถึงredoคำสั่งของ Perl (หรือสาระสำคัญของมัน) สำหรับการตีความของ Ruby ให้ค้นหาคำว่า "ทำซ้ำ" ภายในหน้านี้
MarkDBlackwell


42

ภายในสำหรับลูปและวิธีการเช่น iterator eachและคำหลักในทับทิมจะมีผลของการกระโดดที่จะย้ำต่อไปของวง (เช่นเดียวกับใน C)mapnextcontinue

อย่างไรก็ตามสิ่งที่มันทำจริงๆคือเพียงแค่กลับจากบล็อกปัจจุบัน ดังนั้นคุณสามารถใช้กับวิธีการใด ๆ ที่ใช้บล็อก - แม้ว่าจะไม่มีอะไรเกี่ยวข้องกับการทำซ้ำ


เช่นเดียวกับคำสั่งทำซ้ำที่ดี
Sigurd



1

ใช้ถัดไปมันจะข้ามเงื่อนไขนั้นและรหัสที่เหลือจะทำงาน ด้านล่างฉันได้ให้สคริปต์เต็มและวางออก

class TestBreak
  puts " Enter the nmber"
  no= gets.to_i
  for i in 1..no
    if(i==5)
      next
    else 
      puts i
    end
  end
end

obj=TestBreak.new()

ผลลัพธ์: ป้อนวันที่ 10 ธันวาคม

1 2 3 4 6 7 8 9 10

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