只是尝试执行一个小的Lua脚本,但不幸的是我做错了。我没有更多的想法可能是错误。
function checkPrime( n )
for i = 2, n-1, 1 do
if n % i == 0 then
return false
end
end
return true
end
口译员说:
lua: /home/sebastian/luatest/test.lua:3: `then' expected near `%'
我认为这不是一件大事,也许很清楚是什么问题。但不知怎的,我现在看不到它。
答案 0 :(得分:6)
可能存在一些版本问题,请检查您的lua版本。使用'%'作为模数的中缀运算符只能在Lua 5.1中使用,在5.0中它尚不支持。请尝试使用math.mod
:
if math.mod(n,i) == 0 then
修改:另请注意,在5.1中,math.mod
仍然存在,但已重命名为math.fmod
。目前,旧名称仍然有效,但在将来的版本中可能会删除支持。
答案 1 :(得分:-1)
您是否尝试在括号中包装“n%i == 0”?愚蠢的问题,但有时被忽视了!