2

質問はタイトルにあります、本当に。以前に誰かがこれを使用しているのを見ましたが、何に使用されているかわかりませんでし!た。

local lowestIndex = 0;
local lowestValue = false;
for k, v in ipairs(playerElement) do
    if !lowestValue or v.value < lowestValue then
        lowestIndex = k;
        lowestValue = v;
    end
end
4

2 に答える 2

8

他の人が言ったように、!通常、Lua には機能がなく、投稿したコードは通常有効ではありません。!varただし、Lua のパーサーを拡張してカスタム構文を使用できるようにすることは非常に簡単であり、Lua を埋め込むプロジェクトで、 and!=に加えてnot varandなどの「より使い慣れた」C スタイルの構文を追加することは前例のないことではありません~=。これを行う注目すべきプロジェクトの 1 つはGarry's Modであり、他にもあると確信しています。

もちろん、この種の混乱を正確に回避するために、通常の構文が使用可能な場合にカスタム構文を使用する (または最初にカスタマイズする) ことは、可能であれば避けるのが最善です。

于 2014-02-14T00:00:21.930 に答える
3

構文エラーです。

一部の言語、主に C およびその関連言語は!、論理的な「not」演算子として使用しますが、Lua はnot代わりにキーワードを使用!し、私の知る限り、何にも使用しません (不等式演算子の一部としてさえ使用しません。それは~=where Cを使用します)。を使用します!=)。

それを知らない誰かが書いた Lua コードを手に入れたようです。

于 2014-02-13T23:22:54.267 に答える