在while循环和嵌套if之后出现意外的$ end

nla*_*and 1 ruby

我有这个我正在研究的程序应该找到前1000个素数的总和.目前我所关心的是确保程序找到前1000个素数,我将添加稍后添加它们的功能.这是我有的:

#!/usr/bin/ruby

def prime(num)

    is_prime = true

    for i in 2..Math.sqrt(num)

        if (num % i) == 0           
            is_prime = false
        else
            is_prime = true
        end
    end

    return is_prime
end


i = 2
number_of_primes = 0

while number_of_primes < 1000

    prime = prime(i)

    if prime == true
        number_of_primes++

    end
    i++
end
Run Code Online (Sandbox Code Playgroud)

当我尝试运行该程序时,我得到以下反馈:

sumOfPrimes.rb:32: syntax error, unexpected keyword_end
sumOfPrimes.rb:34: syntax error, unexpected keyword_end
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?任何方向表示赞赏.

Dog*_*ert 10

Ruby没有++运算符,你需要做+= 1

number_of_primes += 1
Run Code Online (Sandbox Code Playgroud)