博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lua 6 函数
阅读量:5108 次
发布时间:2019-06-13

本文共 1094 字,大约阅读时间需要 3 分钟。

定义:

function max(num1, num2)  local result = 0  if (num1 > num2) then    result = num1;  else    result = num2;  end    return result, "ok"; --> 可以返回多值end

  

局部函数:在 require() 时,local 的函数不能被别的 script 调用,相当于 C++ 的 private。

local function max(num1, num2)  local result = 0  if (num1 > num2) then    result = num1;  else    result = num2;  end    return result; end

  

可变形参:

function add(str, ...)  -- 固定参数必须放在变长参数之前print("总共传入 " .. select("#",...) .. " 个数") -- 获得输入可变参数的数量local s = 0    for i, v in ipairs{...} do   --> {...} 表示一个由所有变长参数构成的数组      s = s + v    end    return s  end  print(add(3,4,5,6,7))  --->25

---- select 的用法

function foo(...)    for i = 1, select('#', ...) do  -->获取参数总数    local arg = select(i, ...); -->读取参数    rint("arg", arg);    end  end  foo(1, 2, 3, 4);  --------- result ----------arg	1arg	2arg	3arg	4

    

函数作为形参:

function sortTable(t, _f) -- _f 函数形参  table.sort(t, _f)end -- callfunction f(a1, a2)  return a1 > a2endv = {1,8,0,4,2,8,9,2}sortTable(v, f) -- f 函数变量

  

 

 

参考:

http://www.runoob.com/lua/lua-functions.html

转载于:https://www.cnblogs.com/alexYuin/p/9948728.html

你可能感兴趣的文章
秒杀9种排序算法(JavaScript版)
查看>>
Activiti入门 -- 环境搭建和核心API简介
查看>>
struts.convention.classes.reload配置为true,tomcat启动报错
查看>>
MySQL的并行复制多线程复制MTS(Multi-Threaded Slaves)
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
万能的SQLHelper帮助类
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
Html5 离线页面缓存
查看>>
《绿色·精简·性感·迷你版》易语言,小到不可想象
查看>>
Android打包key密码丢失找回
查看>>
VC6.0调试技巧(一)(转)
查看>>
类库与框架,强类型与弱类型的闲聊
查看>>
webView添加头视图
查看>>
php match_model的简单使用
查看>>
在NT中直接访问物理内存
查看>>