2015-11-06 63 views
0

我正在嘗試完成一個比較兩個字符串並每次在兩個字符串之間存在差異時將計數器添加到計數器的exerciseism.io測試文件。我寫了我的課,但由於某種原因,它不會在終端中運行。我已經將我的代碼與幾個在線語法的例子進行了比較,並沒有看到爲什麼它不會運行。任何幫助將非常感激。用於比較兩個字符串中的字符的Ruby類

這裏是我的類:

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

試過了。沒有骰子! – Jac7k

回答

1
  1. 在的條件之後,您不需要聲明。
  2. 在Ruby中使用兩個空格而不是四個用於縮進。
  3. (錯誤的直接原因)Ruby中沒有++運算符。你應該有

    distance += 1 
    
+0

'然後'是可選的,但可以接受。 –

+0

在列表中,你用8個空格縮進代碼,而不是4 :) –

+0

@SergioTulentsev謝謝你,我不知道。 :) –