1

私は基本的なLuaインタープリターを使い始めたばかりで、この問題に遭遇しました:

a = tonumber(a)
b = tonumber(b)
if a < 1 or b < 1 or a > x or b > x then
    ...
end

そして、私はエラーメッセージを受け取ります:

Attempt to compare number with string expected, got number

私はこれに不慣れです。そのステートメントはLuaでどのように書く必要がありますか?

編集:xは入力引数の1つとして設定されます。私はそれが文字列ではなく数字であることを確信しています。前のステートメントでは、forループの最大値として使用しました。

4

1 に答える 1

3

xは入力引数の1つとして設定されます。私はそれが文字列ではなく数字であることを確信しています。前のステートメントでは、forループの最大値として使用しました。

(from)の入力引数argは常に文字列であり、forループで数値に強制変換されます。

for i = 1, "4" do print(i) end
-- 1
-- 2
-- 3
-- 4

ただし、この場合は、を使用する必要があるようですtonumber()

于 2012-12-25T03:27:09.313 に答える