如何使拼写在Ruby中不起作用?
我想做一个琐碎的游戏,如果有人在facebook上输入游戏的答案,不知何故,它不关心拼写计数 如果有人不小心输入了faceboko、fecabook或ftckbook,它会工作,并给出一个好工作的输出,你得到了 我不知道该怎么开始。一般来说,距离是用来处理这些问题的 您可以实现自己的解决方案,但是有一个很好的方法可以使用 定义错误率,例如4,并检查用户输入和原始字符串之间的距离如何使拼写在Ruby中不起作用?,ruby,Ruby,我想做一个琐碎的游戏,如果有人在facebook上输入游戏的答案,不知何故,它不关心拼写计数 如果有人不小心输入了faceboko、fecabook或ftckbook,它会工作,并给出一个好工作的输出,你得到了 我不知道该怎么开始。一般来说,距离是用来处理这些问题的 您可以实现自己的解决方案,但是有一个很好的方法可以使用 定义错误率,例如4,并检查用户输入和原始字符串之间的距离 if @msg =~ /facebook/i puts "Nice job, you got
if @msg =~ /facebook/i
puts "Nice job, you got it!"
end
如果你用这个,你的代码会变成
2.2.2 :001 > require "levenshtein"
=> true
2.2.2 :002 > Levenshtein.distance("facebook", "ftcebook")
=> 1
这也可能有用-它是/facebook/i,而不是\facebook\i。您可以使用编辑距离:
err = 4
if Levenshtein.distance("original", @msg)>err
"Nice job"
end