【发布时间】:2016-05-26 15:10:34
【问题描述】:
当我要附加到的数组的总和达到某个数字 (20) 时,我想中断我的 while 循环。这是我尝试过的:
p1_score = []
p2_score = []
until p1_score.inject(:+) >= 20 || p2_score.inject(:+) >= 20 do
但我收到以下错误:
`play_game': undefined method `>=' for nil:NilClass (NoMethodError)
【问题讨论】:
-
这只是你的一个 Int 没有设置,所以你有一个 nil 代替,你不能做例如
1 > nil为了帮助你调试你可以使用 var.class 来看看是什么类型是 (Enumerable, Fixnum, Nil ...) 并发现哪个是 nil -
在每次迭代中对两个数组求和似乎有点浪费,而不是仅仅保持运行总数。