我试图完成一个exercism.io测试文件,该文件比较两个字符串,并在每次两个字符串之间存在差异时将一个字符串添加到计数器中。我写了我的课,但由于某种原因,它不会在终端上运行。我已经将我的代码与几个在线语法示例进行了比较,并且不知道为什么它不会运行。任何帮助将不胜感激。
这是我的班级:
class Hamming
def compute(str1, str2)
distance = 0
length = str1.length
for i in 0..length
if str1[i] != str2[i] then
distance++
end
end
return distance
end
end
以下是测试文件的相关内容:
class HammingTest < Minitest::Test
def test_identical_strands
assert_equal 0, Hamming.compute('A', 'A')
end
end
最后,这是我得到的错误:
hamming_test.rb:4:in `require_relative': /Users/Jack/exercism/ruby/hamming/hamming.rb:8: syntax error, unexpected keyword_end (SyntaxError)
/Users/Jack/exercism/ruby/hamming/hamming.rb:12: syntax error, unexpected end-of-input, expecting keyword_end
from hamming_test.rb:4:in `<main>'
答案 0 :(得分:1)
then
语句中的条件之后不需要if
。 (错误的直接原因)Ruby中没有++
运算符。你应该
distance += 1