ฉันใช้รหัสนี้เพื่อให้ผู้ใช้ป้อนชื่อในขณะที่โปรแกรมเก็บไว้ในอาร์เรย์จนกว่าพวกเขาจะใส่สตริงว่าง (พวกเขาต้องกด Enter หลังจากแต่ละชื่อ):
people = []
info = 'a' # must fill variable with something, otherwise loop won't execute
while not info.empty?
info = gets.chomp
people += [Person.new(info)] if not info.empty?
end
รหัสนี้จะดูดีกว่ามากในการทำ ... ในขณะที่วง:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
ในรหัสนี้ฉันไม่ต้องกำหนดข้อมูลให้กับสตริงแบบสุ่ม
น่าเสียดายที่การวนซ้ำประเภทนี้ไม่มีอยู่ใน Ruby ใครช่วยแนะนำวิธีที่ดีกว่าในการทำเช่นนี้?
loop do; ...; break if ...; end
?