0

Codecademy の演習を行っていますが、コードが必要な処理を行っていない場所で立ち往生しています。必要なのは単語を印刷することだけですが、単語が編集されている場合は、「編集済み」を印刷する必要があります。私が見ることができることから、それが私のコードが行っていることですが、シンボルが間違った場所にあるか、何かが欠けている必要があります。だから、誰かが私が間違っていたところを見ることができれば、正しい方向に少しずつ動かしていただければ幸いです! よろしくお願いします!これが私のコードです:

puts "Whats your input brah?"
text = gets.chomp
puts "Whatchu are you hiding bro?"
redact = gets.chomp
words = text.split(" ")
words.each {|x| if x == redact print "REDACTED"+" " else print x+" "}
4

3 に答える 3

1

wordsは配列でredact、文字列です。したがって、を使用してそれらを比較することはできません==。あなたがやろうとしているのは、redactのどこかに存在するかどうかを確認することですwords。次を使用してこれを行うことができますinclude?

if words.include?(redact) ...

これを実装するさらに良い方法は、元の入力文字列で正規表現を使用することです。

print text.gsub(/\b#{redact}\b/, 'REDACTED')
于 2013-04-25T16:39:28.597 に答える