函数

2021-01-05  本文已影响0人  爱折腾的傻小子

Lua 函数

optional_function_scope function function_name(argument1, argument2, argument3..., argumentn)
  function_body
  return result_params_comma_separated
end
-- 定义max函数 返回最大值
function max(max1, max2)
    if max1 > max2 then
        return max1
    else
        return max2
    end
end
print(max(8,9))  -- 9
print(max(8,8))  -- 8
print(max(8,7))  -- 8
-- 将函数作为参数传递给函数
myFunc = function(param)
    print("打印param:", param)
end

function add(num1, num2, func)
    func(num1 + num2)
end

myFunc(100)
add(4, 6, myFunc)
--[[
打印param:    100
打印param:    10
]]
-- string.find 其返回匹配串"开始和结束的下标"(如果不存在返回nil)
s, e = string.find("~~~ hello Lua!", "hello")
print(s, e) -- 5 9      5 开始位置 9 结束位置

ss, ee = string.find("~~~ hello Lua!", "hello1")
print(ss, ee)   -- nil nil
-- 获取table中的最大值即索引值
function maximum(a)
    local mi = 1    -- 最大索引
    local m = a[mi] -- 最大值
    for i, v in ipairs(a) do
        if v > m then
            mi = i
            m = v
        end
    end
    return m, mi
end

print(maximum({8,10,23,12,5}))  -- 23   3
-- 计算平均值
function average(...)
    result = 0
    local arg = {...}
    for i, v in ipairs(arg) do
        result = result + v
    end
    print("传入参数个数:", #arg)
    return result/#arg
end

print("平均值:", average(10,5,3,4,5,6))
--[[
传入参数个数: 6
平均值:    5.5
]]
上一篇下一篇

猜你喜欢

热点阅读