我正在寻找一种方法来获取两个句子的用户输入,然后让用户选择一个能够让程序检查的数字,以查看对应于该数字的单词在两个句子中是否相同。
因此,如果每个句子中有8个单词并且他们选择了数字4,程序将比较两个句子上的第四个单词,然后告诉用户两个“字符串”匹配。
使用数组或仅使用字符串会更好吗?
我会在这个例子中使用split吗?
答案 0 :(得分:0)
是的,我认为拆分是一个不错的选择。
假设单词边界是空格,你可以这样做:
string1 = "my name is Jerry"
string2 = "his name was Pete"
number = 2
string1.split(/\s/)[number - 1] == string2.split(/\s/)[number - 1]
#=> true
number = 3
string1.split(/\s/)[number - 1] == string2.split(/\s/)[number - 1]
#=> false
答案 1 :(得分:0)
使用数组是最好的,因为它们更容易处理。它更像是个人偏好。 我会做这样的事情
sentence_1 = "The brown fox jumped over the white fence" || (User Input)
sentence_2 = "The White fox ran over the white rails" || (User Input)
array_1 = sentence_1.split(" ")
array_2 = sentence_2.split(" ")
number = gets.to_i
# This is assuming user enters numbers starting from 1 and not 0
number = number - 1 #index
word_1 = array_1[number] rescue ''
word_2 = array_2[number] rescue ''
unless word_1 == '' || word_2 == ''
word_1 == word_2 ? (puts "Match: #{word_1} = #{word_2}") : (puts "MisMatch :#{word_1} Not equal #{word_2}")
else
puts "The sentence is not that long"
end