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

これは、文字列の末尾にgetsa を追加するためです。最後の文字を取り除くために\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 に答える