【发布时间】:2017-09-26 00:01:40
【问题描述】:
我定义两个字符串几乎相等如果:
- 它们的长度相同,或者
- 它们的长度相差一个,字符串相差一个字符。
这两个字符串几乎相等:
HOW DO YOU
HO DO YOU
这些:
abcdef
bcdef
但是这些字符串并不几乎相等:
Almost
Anost
这些也不是:
Almost
Aomst
我有这个函数,我试图让它判断两个字符串是否几乎相等:
def str_almost_equal(a, b)
a.downcase == b.downcase || (a.size == b.size && a.downcase.chars.map.with_index{|c, i| c == b.downcase[i]}.count(false) == 1)
end
使用"aaa" 和"aab" 调用上述代码的结果为true。
如果除上述之外,字符串长度仅相差 1 且字符除 1 外相同,我该如何扩展我的函数以使字符串几乎相等?
【问题讨论】:
-
为什么代码中有
downcase?这似乎打乱了你的整个意图。