2017-08-28 71 views
-2

我試圖編寫一個程序,要求用戶輸入單詞,然後我想輸入的單詞存儲在一個數組中,然後在他們按下返回鍵後在屏幕上進行打印。Ruby - 如何將值添加到循環中的數組?

這裏是我的代碼,但它不工作:

while loop do 
    puts 'Enter your words:' 

    user_input = gets.chomp.capitalize 

    if user_input != '' 
    user_words = Array.new 
    user_input.push user_words 
    elsif user_input == '' 
    puts user_words.to_s 
    break 
    end 
end 

有人能幫助我嗎?

+3

你現在有什麼具體問題?如果你沒有問題,我們幫不了你。你現在正在做什麼代碼,你不想要它,或者你的代碼沒有做什麼,你希望它做什麼? –

回答

1

有很多問題,你的代碼,在這裏,他們是:

  1. whileloop在一個聲明是沒用
  2. puts 'Enter your words:'應該循環
  3. user_words之外應該之外聲明聲明的循環來累計值
  4. puts user_words.to_s應該在循環的外面打印所有值的最後一個值
  5. push應的陣列上被稱爲不是一個字符串
  6. elsif user_input == ""過多,可以用else
  7. Array.new被替換是猶有[]

這裏是我的解決方案:

puts 'Enter your words:' 

words = [] 

loop do 
    input = gets.chomp.capitalize 
    break if input == '' 
    words << input 
end 

puts words.to_s 

我希望它有幫助。

+0

感謝您的幫助。我能夠編輯您提供的代碼,使其完成我想要的功能,然後執行一些操作(https://pastebin.com/embed_js/y1ayGUDi) –

+0

如果您不介意,您是否會指出我的錯誤?我是編程新手,非常感謝它的幫助! –

+0

@BrianRuff你到底還不清楚什麼? –