0

我正在通过 codecademy 中的练习,并且被困在我的代码没有做我需要做的事情的地方。我需要做的就是打印单词,但如果单词被编辑,我需要它打印“REDACTED”。据我所见,这就是我的代码正在做的事情,但我必须在错误的地方有一个符号,否则缺少某些东西。所以,如果有人能看到我哪里出错了,我肯定会很感激朝着正确的方向轻推!谢谢你!这是我的代码:

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

我找到了答案。总之谢谢大家!

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 then print "REDACTED"+" " else print "#{x}"+" " end}
于 2013-04-25T18:22:06.710 回答
1

words是一个数组,并且redact是一个字符串。所以你不能用==. 您要做的是查看是否redact存在于words. 您可以使用以下方法执行此操作include?

if words.include?(redact) ...

实现这一点的更好方法是在原始输入字符串上使用正则表达式:

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

使用$end而不是endfor

words.each 
{
 |x| 
 if x == redact 
   print "REDACTED"+" " 
 else 
   print x+" "
}
于 2016-01-27T11:05:37.460 回答