Lua 变量问题

我编写了一个 Lua 代码来排列一个列表,但是当我将任何带 2 位小数的数字输入到列表中,比如 10,20 等,变量“ordenado”总是取值 1,即使它是否符合条件。

valor = {}
ordenado = 0

function inicializar ()
  for i = 1,10 do
    print ("Introduzca el valor "..i..":")
    valor[i] = io.read()
  end
end

function verificar ()
  for i = 2, #valor do
    if valor[i]>valor[i-1] then
      ordenado = ordenado + 0
    else
      ordenado = ordenado + 1
    end
    print ("actual: "..valor[i].." \nanterior: "..valor[i-1].."\nordenado:"..ordenado.."\n")
  end
end

function imprimir()
  if ordenado == 0 then
    print "La lista esta ordenada"
  else
    print "La lista no esta ordenada"
  end
end

a = inicializar()
a = verificar()
a = imprimir()

Lua 版本是 5.2。

点赞
用户107090
用户107090

ivalor[i] = io.read() 会在 valor[i] 中存储一个字符串。作为字符串,"2" > "10"

2014-03-12 16:13:39