模块:Var

zhmoe>屠麟傲血2022年11月8日 (二) 23:48的版本 (已保护“Module:Var”:​高流量页面([编辑=仅允许管理员](无限期)[移动=仅允许管理员](无限期)))
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
50px 模块文档[创建]
local frame = mw.getCurrentFrame()

local module = {
  getPlain = function(key, type)
	if type then
  		type = '_'..type	
	else
		type = ''
	end
   return frame:callParserFunction("#var"..type, tostring(key))
  end,
  
  set = function(key, val)
    frame:callParserFunction("#vardefine", tostring(key), tostring(val))
    return val
  end
}

module.get = function(key, type)
	local val = module.getPlain(key, type)
	if val == '' then return nil end
	if val:find('^0') then return val end
	if tonumber(val) then return tonumber(val) end
	if var == 'true' then return true end
	if var == 'false' then return false end
	return val
end

module.remove = function(key)
  local removedVal = module.getPlain(key)
  module.set(key, "")
  return removedVal
end

return module