När du skapar ett tag loop i Ruby , du huvudsakligen säger " medan X är sant , gör Y " eller ens " tills X är falskt , göra Y. " Programmerare skapa en while-slinga i Ruby i situationer där de vill ha ett block av kod till slingan så länge ett visst villkor är sant . Det finns också en Converse funktion, tills öglan , vilket kommer att köra tills den villkorade utvärderas till true . Så snart som villkoret är sant, tills slingan kommer att sluta . Instruktioner Review, Skapa en while-slinga
1
Skapa en villkorlig uppgift , till exempel : i = 10while i> 0
2
Bestäm hur lång tid att köra slingan . Detta innebär ibland att inrätta en variabel utanför while-slingan att spåra dess framsteg . I det här exemplet är while-slinga som används för att subtrahera från variabeln " i " : i = 10while i> 0 # kodblock innehåller subtraktion läggs hereend
3
Skapa blocket . Blocket är en bit kod som får exekveras varje gång slingan körs. I de flesta fall modifierar blocket även tillståndet . I detta exempel är avsikten att subtrahera från den variabla "i . " Denna slinga läser siffrorna från tangentbordet och subtraherar dem från " jag . " På grund av det villkorade uttalande i while-slinga , om man vid slutet av slingan "i" är 0 eller lägre , kommer slingänden : i = 10while i> 0i = i - gets.chomp.to_iputs " Jag är nu # { i} " end
Skapa ett fram loop
4
Välj en while-slinga .
5
Ersätt " samtidigt " med " tills " . Fast tills tjänar samma syfte som när , i det tidigare exemplet , skulle ingenting hända som i> 0 utvärderas till true så snart loopen körs . Detta innebär att blocket inte kommer att utföra ännu en gång . Men i vissa fall är det tydligare .
6
Betrakta följande två exempel . Använda tills ett mer koncist sätt att returnera result.1 . medan inte is_ready ( ) wait_until_ready ( ) slut2 . tills is_ready ( ) wait_until_ready ( ) end