它只是一个普通的ruby。你知道为什么下面的代码会出现语法错误吗?
irb(main):001:0> def count_valid_policies(input)
irb(main):002:1> counter = 0
irb(main):003:1> policies = input.split("n")
irb(main):004:1> policies.each do |policy|
irb(main):005:2* valid?(policy) && counter++
irb(main):006:2* end
irb(main):007:1>
irb(main):008:1> puts counter
irb(main):009:1> end
Traceback (most recent call last):
1: from /usr/local/bin/irb:11:in `<main>'
SyntaxError ((irb):6: syntax error, unexpected keyword_end)
end
^~~
(irb):9: syntax error, unexpected end-of-input, expecting keyword_end
因为counter++
不是有效的ruby表达式。您应该将其替换为counter += 1
。