私は数値を含む変数を持っています。 Luaは変数をnil
に設定することができますが、その変数はその経路のすべてのコードを破壊して毒性になります。Lua:変数をゼロに設定する方法
変数にnil
が含まれている場合は、ゼロに変換します。
local score;
score = gameResults.finalScore;
私はscore
番号が含まれていることを確認したいので、私は試してみてください。
local score;
score = tonumber(gameResults.finalScore);
をしかし、それは動作しません。だから私は試してみる:
local function ToNumberEx(v)
if (v == nil) then
return 0
else
return tonumber(v)
end
local score;
score = ToNumberEx(gameResults.finalScore);
しかし、それは動作しません。だから私は試してみる:
local function ToNumberEx(v)
if (v == nil) then
return 0
else
return tonumber(v)
end
local score;
score = ToNumberEx(gameResults.finalScore);
if (score == nil) then
score = 0
end
それは機能するが、目的を破る。
機能に問題がありますか?私はプログラミング言語に精通している人以外は、完全に合理的で論理的な説明があると確信しています。
「うまくいきません」という言葉はこれまでにない無駄な苦情です。それは何をしていますか、それがあなたがしたいこととどのように違うのですか? – delnan
"LUAでは変数をnilに設定することができますが、その変数は有毒になり、そのパス内のすべてのコードが破壊されます。多くの場合、タイプミスの検出がより明白になるように、コードの健全性チェックとして機能します。 – jpjacobs