我创建了以下内容(这是更多代码的一部分,但只有这一行有问题):
if number_to_test % divisor == 0 then number_of_divisors+= 1 end
我想用
来缩短它if number_to_test % divisor == 0 { number_of_divisors+= 1 }
但我得到
syntax error, unexpected '{', expecting keyword_then or ';' or '\n'
if number_to_test % divisor == 0 { number_of_divisors+= 1 }
^
syntax error, unexpected '}', expecting keyword_end
我以为我可以将长形改为{} 你能告诉我正确的语法(如果可能的话)吗? 也许我只是想做结束块而不是if语句?
答案 0 :(得分:5)
Ruby中的一行if
语句是“向后”完成的,可以这么说:
number_of_divisors += 1 if number_to_test % divisor == 0
正如所料,同样适用于unless
。
答案 1 :(得分:1)
你可以这样做:
number_of_divisors+= 1 if number_to_test % divisor == 0
答案 2 :(得分:0)
number_of_divisors+= 1 if number_to_test % divisor == 0
会更好。
修正:红宝石没有++。