簡體   English   中英

Ruby中的While循環

[英]While loops in Ruby

我只想連續三次說'BYE' ,然后退出。 這是關於一個聾啞的奶奶,他只會在字母全都大寫的情況下聽到聲音。

我嘗試使用三個不同的變量,但這沒有用。 我的代碼在下面,當我只說一次'BYE'時,它就會起作用。

whatSaid = 'Hi!'

while (whatSaid != 'BYE')
  whatSaid = gets.chomp
  if (whatSaid == 'BYE')
    puts 'FINE! LEAVE YOUR POOR GRANDMA TO DIE.'
  else
    if (whatSaid == whatSaid.upcase)
    puts 'NO, NOT SINCE ' + rand(1930...1951).to_s + '!'
    else
    puts 'HUH!? SPEAK UP, SONNY!'
    end
  end
end

為什么不使用一個名為bye_count的變量-從0開始,每次聽到'BYE'時將其遞增-當該變量達到3時,退出

例如

what_said = 'Hi!'
bye_count = 0

while (bye_count < 3)
  what_said = gets.chomp
  if (what_said == 'BYE')
    bye_count += 1
    puts 'FINE! LEAVE YOUR POOR GRANDMA TO DIE.'
  else
    if (what_said == what_said.upcase)
      puts 'NO, NOT SINCE ' + rand(1930...1951).to_s + '!'
    else
      puts 'HUH!? SPEAK UP, SONNY!'
    end
  end
end

無關注釋:ruby通常使用underscore_case作為變量名,而不是camelCase :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM