lua函数参数被视为字符串?

时间:2015-07-08 18:19:12

标签: lua

我正在尝试让这个程序在lua中计算一个数字的工作量,除了这一行代码之外,一切都有效。这是代码:

function factor(a)
 print("factoring: " .. a)
 print()
 totali = 0
 totaldiv = 0
 for i = 1, a do
  if (a%i == 0) then
   if (i<a) then
    totaldiv = totaldiv + 1
   end
   print(i)
   i = i + 1
   totali = totali + 1
  else
   i = i + 1
  end
 end
 if totali == 2 then
  print("That is a prime number!")
 elseif totaldiv == a then
  print("That is a perfect number!")
 end
end
io.write("Enter a number to factor: ")
some = io.read()
factor(some)
io.read()

我所看到的进攻线是if (i<a) then。 我究竟做错了什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

if (i<tonumber(a)) then应该有效 您请求输入,该输入将作为字符串返回 因此,您无法if (i<a) then,因为您需要通过<比较数字和字符串。
你根本无法说,2小于4&#39;