在我的示例代碼中,我試圖以「纂」或「redact_again」更換任何話在「文本」那場比賽。既然它是一個/或場景,我認爲||
將被使用。事實證明,&&
實際上工作。如果兩者或任何一個匹配,則將它們正確地替換爲「編輯」一詞。如果它找不到匹配項,它只會重新打印「文本」。我只想了解爲什麼使用||
無法在任何一種情況下工作?在Ruby中,爲什麼&&在||中工作不在我的示例代碼中?
puts "Tell me a sentence"
text = gets.chomp.downcase
puts "Redact this word: "
redact = gets.chomp.downcase
puts "And redact another word: "
redact_another = gets.chomp.downcase
words = text.split(" ")
words.each do |x|
if x != redact && x != redact_another
print x + " "
else
print "REDACTED "
end
end
你有一個蘋果或桔子....不是我不有一個蘋果,我沒有一個橘子。 – Kubee
從未understod爲什麼人們使用否定時,肯定可以使用 – 2012-12-06 06:27:44
更換任何話......有要麼... ...或者是更好地積極的,如果換成== || ==在Salil的答案中。在普通的演講中,我們經常說「如果我沒有這個或不是那個」,並且通過if ... OR ....來翻譯它是一個常見的錯誤。但是在計算機語言中它必須被翻譯爲「不是這個AND不說」,因爲其實我們的意思是:‘如果我沒有(這種或那種)’=>'如果不是(一|| b)'或'如果不是&&不B' – BernardK