我有包含数字的变量.虽然Lua允许将变量设置为nil,但变量随后变得有毒 - 破坏其路径中的所有代码.
如果变量包含a nil,我希望它转换为零.
local score;
score = gameResults.finalScore;
Run Code Online (Sandbox Code Playgroud)
我想确保score包含一个数字,所以我尝试:
local score;
score = tonumber(gameResults.finalScore);
Run Code Online (Sandbox Code Playgroud)
但这不起作用.所以我尝试:
local function ToNumberEx(v)
if (v == nil) then
return 0
else
return tonumber(v)
end
local score;
score = ToNumberEx(gameResults.finalScore);
Run Code Online (Sandbox Code Playgroud)
但这不起作用.所以我尝试:
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
Run Code Online (Sandbox Code Playgroud)
这是有效的,但却失去了拥有一个功能的目的.
这个功能出了什么问题?我确信有一个完全合理和合理的解释 - 除了熟悉编程语言的人.
| 归档时间: |
|
| 查看次数: |
2351 次 |
| 最近记录: |