3

我正在尝试在数组中查找特定字符,但用户正在输入该字符。

我首先对数组排序,然后要求用户输入特定字符,然后我应该查看该字符是否存在于数组具有的任何单词中

出于某种原因,如果在检查字符是否存在时,我“硬编码”一个字符,它可以工作,但如果我尝试查找用户输入的字符,它就不起作用......

list = [ 'Mom' , 'Dad' , 'Brother' , 'Sister' ]
puts ("Enter the character you would like to find");
character = gets
for i in 0..(list.length - 1)
if (list[i].include?(#{character}))
puts ("Character #{character} found in the word #{list[i]}");
end

非常感谢!

4

2 回答 2

2

这是因为在字符串的末尾gets添加了一个。\n使用gets.chomp!这样您就可以摆脱最后一个字符。

于 2012-09-12T14:21:48.333 回答
1

您应该使用“chomp”来去掉输入行末尾的回车。此外,您还可以压缩您的代码。

list = [ 'Mom' , 'Dad' , 'Brother' , 'Sister' ]
puts ("Enter the character you would like to find");
character = gets.chomp
list.each do |e|
  puts "Character #{character} found in the word #{e}" if e.include?(character)
end
于 2012-09-12T14:33:29.610 回答