我需要在两个相似的字符串中计算不同的字母。
这是我的代码:
class Hamming
def compute(dna1, dna2)
count=0
for i in 0...dna1.length
count=+1 unless dna1[i] == dna2[i]
end
return count
end
end
ham = Hamming.new
ham.compute('ABBCCDD', 'AABBCCD')
#=> 1
如果匹配,我的方法会一直返回1
,如果没有匹配,则会0
。
答案 0 :(得分:2)
也许你应该写count+=1
(递增计数)而不是count=+1
(指定+1来计算)
答案 1 :(得分:0)
这是值得冥想的事情:
foo = 'ABBCCDD'
bar = 'AABBCCD'
differences = foo.chars.zip(bar.chars).reject{ |x,y| x == y } # => [["B", "A"], ["C", "B"], ["D", "C"]]
differences.size # => 3