<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>http://47.106.196.176/DNF/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3AExampleMath</id>
	<title>模块:ExampleMath - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://47.106.196.176/DNF/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3AExampleMath"/>
	<link rel="alternate" type="text/html" href="http://47.106.196.176/DNF/index.php?title=%E6%A8%A1%E5%9D%97:ExampleMath&amp;action=history"/>
	<updated>2026-04-17T00:20:22Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>http://47.106.196.176/DNF/index.php?title=%E6%A8%A1%E5%9D%97:ExampleMath&amp;diff=894&amp;oldid=prev</id>
		<title>AdminAPT：​创建页面，内容为“-- 模块名称：Module:ExampleMath -- 描述：提供各种数学计算功能的Lua模块 -- 作者：示例模块 -- 版本：1.0  local p = {}  -- p代表要导出的函数表  -- 内部辅助函数（外部不可直接调用） local function validateNumber(num, paramName)     if type(num) ~= &#039;number&#039; then         error(string.format(&quot;参数&#039;%s&#039;必须是数字，当前类型是: %s&quot;, paramName, type(num)), 2)     end     return num end  -- 计算两个数…”</title>
		<link rel="alternate" type="text/html" href="http://47.106.196.176/DNF/index.php?title=%E6%A8%A1%E5%9D%97:ExampleMath&amp;diff=894&amp;oldid=prev"/>
		<updated>2025-12-22T01:31:53Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“-- 模块名称：Module:ExampleMath -- 描述：提供各种数学计算功能的Lua模块 -- 作者：示例模块 -- 版本：1.0  local p = {}  -- p代表要导出的函数表  -- 内部辅助函数（外部不可直接调用） local function validateNumber(num, paramName)     if type(num) ~= &amp;#039;number&amp;#039; then         error(string.format(&amp;quot;参数&amp;#039;%s&amp;#039;必须是数字，当前类型是: %s&amp;quot;, paramName, type(num)), 2)     end     return num end  -- 计算两个数…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- 模块名称：Module:ExampleMath&lt;br /&gt;
-- 描述：提供各种数学计算功能的Lua模块&lt;br /&gt;
-- 作者：示例模块&lt;br /&gt;
-- 版本：1.0&lt;br /&gt;
&lt;br /&gt;
local p = {}  -- p代表要导出的函数表&lt;br /&gt;
&lt;br /&gt;
-- 内部辅助函数（外部不可直接调用）&lt;br /&gt;
local function validateNumber(num, paramName)&lt;br /&gt;
    if type(num) ~= &amp;#039;number&amp;#039; then&lt;br /&gt;
        error(string.format(&amp;quot;参数&amp;#039;%s&amp;#039;必须是数字，当前类型是: %s&amp;quot;, paramName, type(num)), 2)&lt;br /&gt;
    end&lt;br /&gt;
    return num&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 计算两个数的和&lt;br /&gt;
function p.add(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local a = tonumber(args[1]) or 0&lt;br /&gt;
    local b = tonumber(args[2]) or 0&lt;br /&gt;
    return a + b&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 计算两个数的乘积&lt;br /&gt;
function p.multiply(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local a = tonumber(args.a) or tonumber(args[1]) or 1&lt;br /&gt;
    local b = tonumber(args.b) or tonumber(args[2]) or 1&lt;br /&gt;
    return a * b&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 计算平均值&lt;br /&gt;
function p.average(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local sum = 0&lt;br /&gt;
    local count = 0&lt;br /&gt;
    &lt;br /&gt;
    for key, value in pairs(args) do&lt;br /&gt;
        local num = tonumber(value)&lt;br /&gt;
        if num then&lt;br /&gt;
            sum = sum + num&lt;br /&gt;
            count = count + 1&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    if count == 0 then&lt;br /&gt;
        return &amp;quot;错误：未提供有效数字&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return sum / count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 计算阶乘&lt;br /&gt;
function p.factorial(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local n = math.floor(tonumber(args[1]) or 0)&lt;br /&gt;
    &lt;br /&gt;
    if n &amp;lt; 0 then&lt;br /&gt;
        return &amp;quot;错误：阶乘不能为负数&amp;quot;&lt;br /&gt;
    elseif n == 0 then&lt;br /&gt;
        return 1&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local result = 1&lt;br /&gt;
    for i = 1, n do&lt;br /&gt;
        result = result * i&lt;br /&gt;
    end&lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 生成数学表格&lt;br /&gt;
function p.mathTable(frame)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local start = tonumber(args.start) or 1&lt;br /&gt;
    local stop = tonumber(args.stop) or 10&lt;br /&gt;
    &lt;br /&gt;
    local result = &amp;#039;{| class=&amp;quot;wikitable&amp;quot;\n&amp;#039;&lt;br /&gt;
    result = result .. &amp;#039;|+ 数学表 (&amp;#039; .. start .. &amp;#039; 到 &amp;#039; .. stop .. &amp;#039;)\n&amp;#039;&lt;br /&gt;
    result = result .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
    result = result .. &amp;#039;! 数字 !! 平方 !! 立方 !! 平方根\n&amp;#039;&lt;br /&gt;
    &lt;br /&gt;
    for i = start, stop do&lt;br /&gt;
        result = result .. &amp;#039;|-\n&amp;#039;&lt;br /&gt;
        result = result .. &amp;#039;| &amp;#039; .. i .. &lt;br /&gt;
                 &amp;#039; || &amp;#039; .. (i * i) .. &lt;br /&gt;
                 &amp;#039; || &amp;#039; .. (i * i * i) .. &lt;br /&gt;
                 &amp;#039; || &amp;#039; .. string.format(&amp;quot;%.2f&amp;quot;, math.sqrt(i)) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    result = result .. &amp;#039;|}&amp;#039;&lt;br /&gt;
    return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- 带有命名参数的计算器&lt;br /&gt;
function p.calculator(frame)&lt;br /&gt;
    local args = frame:getParent().args  -- 获取父页面的参数&lt;br /&gt;
    &lt;br /&gt;
    local operation = args.operation or &amp;quot;add&amp;quot;&lt;br /&gt;
    local num1 = tonumber(args.num1) or 0&lt;br /&gt;
    local num2 = tonumber(args.num2) or 0&lt;br /&gt;
    local format = args.format or &amp;quot;text&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    local result&lt;br /&gt;
    if operation == &amp;quot;add&amp;quot; then&lt;br /&gt;
        result = num1 + num2&lt;br /&gt;
    elseif operation == &amp;quot;subtract&amp;quot; then&lt;br /&gt;
        result = num1 - num2&lt;br /&gt;
    elseif operation == &amp;quot;multiply&amp;quot; then&lt;br /&gt;
        result = num1 * num2&lt;br /&gt;
    elseif operation == &amp;quot;divide&amp;quot; then&lt;br /&gt;
        if num2 == 0 then&lt;br /&gt;
            return &amp;quot;错误：除数不能为零&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        result = num1 / num2&lt;br /&gt;
    else&lt;br /&gt;
        return &amp;quot;错误：未知的操作类型&amp;quot;&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    if format == &amp;quot;html&amp;quot; then&lt;br /&gt;
        return &amp;#039;&amp;lt;div style=&amp;quot;border: 1px solid #ccc; padding: 10px; margin: 10px;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
               &amp;#039;&amp;lt;strong&amp;gt;计算结果：&amp;lt;/strong&amp;gt;&amp;#039; .. result .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;&lt;br /&gt;
    elseif format == &amp;quot;wikitext&amp;quot; then&lt;br /&gt;
        return &amp;quot;&amp;#039;&amp;#039;&amp;#039;计算结果：&amp;#039;&amp;#039;&amp;#039;&amp;quot; .. result&lt;br /&gt;
    else&lt;br /&gt;
        return &amp;quot;结果: &amp;quot; .. result&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p  -- 必须返回模块函数表&lt;/div&gt;</summary>
		<author><name>AdminAPT</name></author>
	</entry>
</feed>