Ruby:意外的输入结束,期望if语句的keyword_end

时间:2014-11-17 00:01:28

标签: ruby

我正在使用Java几个月,现在正在转换回Ruby。我从以下代码中得到一个奇怪的错误:

def count_divisors
  divisor_hash = {}
  25.times do |i|
    divisor_hash[i] = find_dividends(i)
  end
  puts divisor_hash
end

def find_dividends(i)
  count = 0
  1000.times do |k|
    if i % ( k + 1 ) == 0
      count++
    end
  end
  count
end
count_divisors()

此代码生成以下错误:

test.rb:14: syntax error, unexpected keyword_end
test.rb:19: syntax error, unexpected end-of-input, expecting keyword_end

删除if语句时不会发生此错误。我不知道为什么。我知道每个if语句都需要end语句,但由于某种原因,它似乎因放置end语句而感到不安。

1 个答案:

答案 0 :(得分:3)

count++更改为count += 1 Ruby不支持增量运算符。