我已经到处搜索并且似乎无法找到我正在寻找的示例。我试图学习红宝石,我正在写一个简单的脚本。提示用户输入加载到数组中的字母。然后,脚本通过一个包含一堆单词的文件,并提取包含数组内容的单词。我的问题是,如果它们按照数组的顺序,它只会将单词拉出来。例如...Ruby-找到包含数组中字母的字符串
characterArray = Array.new;
puts "Enter characters that the password contains";
characters = gets.chomp;
puts "Searching words containing #{characters}...";
characterArray = characters.scan(/./);
searchCharacters=characterArray[0..characterArray.size].join;
File.open("dictionary.txt").each { |line|
if line.include?(searchCharacters)
puts line;
end
}
如果我是用这个代码,并输入“狗” 该脚本将返回 狗 小狗
,但我需要的输出返回即使他们的话不按照相同的顺序。喜欢... 狗 doggie rodge
对不起,这个草率的代码。就像我说的还在学习。谢谢你的帮助。
PS。我也试过这个...
File.open("dictionary.txt").each { |line|
if line =~ /[characterArray[0..characterArray.size]]/
puts line;
end
}
但这返回包含任何用户输入
而不是将搜索字词存储为''dog'',将其存储为''d','o','g',然后检查搜索数组中的每个字母是否在单词中看着。 –
文件中的每一行是否只包含一个单词? –
是的。每行只有一个字 – user1392440