玖叶教程网

前端编程开发入门

「Lua语言教程笔记」Lua函数(1)害怕老去再也不能学习

Lua函数主要有两种用途:

  • 1.完成指定任务,这时候函数作为调用语句使用
  • 2.计算并返回值,这种情况下函数作为赋值语句的表达式使用

函数定义

Lua语言函数格式如下

option_funtion_scope function function_name( argument1,argument2,argument3...,argumentn)
    function_body
    return result_params_comma_separated
end

解释

  • optional_function_scope:默认是全局函数,要想设置局部函数,用关键字local
  • function_name:函数名称
  • arument1:形参
  • function_body:函数体
  • result_params_comma_separated:返回值,可以多个返回值,每个返回值用逗号隔开

实例

function max(num1,num2) --全局函数
    if(num1 > num2) then
        result = num1;
    else
        result = num2;
    end
    return result;
end
--调用函数
print("两个数据比较最大值为:",max(10,3))
print("两个数据比较最大值为:",max(5,6))

结果:

两个数据比较最大值为: 10
两个数据比较最大值为: 6
[Finished in 0.1s]

作为参数传递函数,如下例子

myprint = funtion(param)
    print("这是打印函数:##",param,"##")
end
funtion add(num1,num2,functionPrint)
    result = num1 + num2
    -- 掉用传递的函数参数
    functionPrint(result)
end
myprint(10)
add(1,2,myprint)

结果

这是打印函数:## 10 ##
这是打印函数:## 3 ##
[Finished in 0.0s]

多返回值函数的写法

s,e = string.find("www.toutiao.com","toutiao")
print(s,e)

结果

5 11
[Finished in 0.0s]
学一个新内置函数ipairs(t) 迭代t中所有键值对
例如:

a = {1,4,5,234,23,12}
for i,val in ipairs(a) do
    print(i,val)
end

结果

1 1
2 4
3 5
4 234
5 23
6 12
[Finished in 0.0s]

回归主题 看多返回值实例

funtion maximum(a)
    local mi = 1
    local m = a[mi]
    for i,val in ipairs(a) do
        if val > m then
            m = val
            mi = i
        end
    end
    return m,mi
end


print(maximum({1,4,5,234,23,12}))

结果

234 4
[Finished in 0.0s]

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言