Selaa lähdekoodia

[Minor] Add a simple toboolean function

tags/2.0
Vsevolod Stakhov 4 vuotta sitten
vanhempi
commit
d0e5bf6d4a
1 muutettua tiedostoa jossa 35 lisäystä ja 0 poistoa
  1. 35
    0
      lualib/lua_util.lua

+ 35
- 0
lualib/lua_util.lua Näytä tiedosto

@@ -1171,4 +1171,39 @@ exports.table_digest = function(t)
return h:base32()
end

---[[[
-- @function lua_util.toboolean(v)
-- Converts a string or a number to boolean
-- @param {string|number} v
-- @return {boolean} v converted to boolean
--]]]
exports.toboolean = function(v)
local true_t = {
['1'] = true,
['true'] = true,
['TRUE'] = true,
['True'] = true,
};
local false_t = {
['0'] = false,
['false'] = false,
['FALSE'] = false,
['False'] = false,
};

if type(v) == 'string' then
if true_t[v] == true then
return true;
elseif false_t[v] == false then
return false;
else
return false, string.format( 'cannot convert %q to boolean', v);
end
elseif type(v) == 'number' then
return (not (v == 0))
else
return false, string.format( 'cannot convert %q to boolean', v);
end
end

return exports

Loading…
Peruuta
Tallenna