Module:Call

Template-info.svg 模块文档  [创建] [刷新]
  1. local p = {}
  2. local getArgs = require('Module:Arguments').getArgs
  3. function p._main(frame, args, is_default_value)
  4. local calleeName = args[1]
  5. if (not calleeName) or (calleeName == "") then
  6. return ""
  7. end
  8. local wrapperArgs = getArgs(frame, { parentOnly = true })
  9. for k, v in pairs(args) do
  10. local k_number = tonumber(k)
  11. if k_number then
  12. if k_number > 1 then
  13. if not (wrapperArgs[k_number - 1] and is_default_value) then
  14. wrapperArgs[k_number - 1] = v
  15. end
  16. end
  17. else
  18. if not (wrapperArgs[k] and is_default_value) then
  19. wrapperArgs[k] = v
  20. end
  21. end
  22. end
  23. -- mw.logObject(wrapperArgs)
  24. return frame:expandTemplate({ title = calleeName, args = wrapperArgs })
  25. end
  26. function p.main(frame)
  27. return p._main(frame, getArgs(frame, { frameOnly = true }), false)
  28. end
  29. function p.default(frame)
  30. return p._main(frame, getArgs(frame, { frameOnly = true }), true)
  31. end
  32. return p
返回顶部