嘿,我剛剛開始在codeacademy上學習Ruby,並且遇到了一個可選的挑戰,我無法得到的練習。該程序採用用戶定義的字符串並「重新顯示」用戶想要「編輯」的單詞。正如你所看到的,它將字符串轉換爲數組,然後循環遍歷數組中的每個值(又稱單個單詞),並試圖將原始字符串的值與用戶想要「編輯」的單詞的值進行交叉檢查。最初的問題是讓它編寫一個變量,挑戰是編輯多個單詞。我的問題是,當它通過檢查循環時,它保持返回值錯誤。我明白什麼是錯的,循環必須不止一次地檢查數值,當它不能打印出'=='時,它會一直打印出這個單詞,但有沒有辦法解決這個問題?還是有更好的角度來解決這個問題?如何在循環中重複輸出Ruby中的循環
puts "Give me what you've got"
text = gets.chomp
text.downcase!
puts "What words do you wish to redact"
redact = gets.chomp
redact.downcase!
bye_words = redact.split(" ")
words = text.split(" ")
words.each do |single_word|
bye_words.each do |word_in_question|
if word_in_question == single_word
print "REDACTED "
else
print single_word + " "
end
end
end
在內部循環中,只需跟蹤是否找到匹配項即可。然後在內部循環之後,如果找到匹配項,則打印「已刪除」,如果沒有,則打印該單詞。 – JKillian
你能解釋一下我會怎麼做嗎?我想象這涉及某種布爾的使用...? – d4wtty
甜蜜我想出瞭如何使這項工作,現在它完美的工作。謝謝 – d4wtty