`

Lua学习(四)函数

    博客分类:
  • lua
 
阅读更多
函数的作用:
  1、完成某项特定任务
  2、计算并返回结果


语法:
function func_name(args)
    statements
end


1、多重返回值
  A、若函数作为一条单独语句执行,无返回值
  B、若函数作为表达式一部分,只保留函数第一个返回值
  C、若函数作为表达式一部分并且在表达式最后一个位置,返回所有值

function t_none() end                 --->无返回值

function t_one() return "a" end       --->返回一个值"a"

function t_many() return "a","b" end  --->返回两个值"a","b"


x = t_many()          --->x="a","b"被抛弃

x,y = t_many()        --->x=="a",y="b"

x,y,z = t_many()      --->x="a",y="b",z=nil

x,y = t_many(),20,30  --->x="a",y=20,30被抛弃

将函数放在一对圆括号内,强制函数返回一个值
print((t_many()))     --->a

2、变长参数
用3个点(...)表示函数接受不同数量的实参
function sum(...)
    local s = 0
    for i,v in pairs({...}) do
        s = s + v
    end
    return s
end

访问变长参数时,仍需用到3个点(...)
function sum(...)
   local a,b,c = ...
end


3、具名实参
将所有实参组织到一个table中
rename({old="temp.lua", new="temp1.lua"})
也可以写成
rename{old="temp.lua", new="temp1.lua"}

不过我还是喜欢第一种风格
分享到:
评论

相关推荐

    lua调用C++函数

    Lua是一种轻量级的脚本语言,常用于游戏开发、嵌入式系统和服务器应用程序,因其简洁、高效而受到欢迎。...如果你遇到问题,可以尝试分析源码或者在类似的环境中编译运行,以便更好地理解和学习Lua调用C++函数的过程。

    串口屏LUA例程-常用的回调函数使用说明V1.0.pdf

    本文档主要介绍了在大彩物联型串口屏上使用LUA脚本进行编程时,...通过学习和掌握这份文档中的内容,开发者能够更加高效地使用LUA脚本API函数中的回调函数,为大彩物联型串口屏设备编写更加智能、自动化的脚本程序。

    Lua学习资料PDF

    以下是对Lua学习的一些关键知识点的详细介绍: 1. **基础语法**:Lua的语法与C语言类似,包括变量(全局和局部)、赋值、数据类型(如数字、字符串、布尔、表、函数和nil)。变量在Lua中是动态类型的,不需要预先...

    lua参考手册和lua常用函数

    这份资源包含“lua参考手册”和“lua常用函数”的详细介绍,是学习和理解Lua语法及函数用法的重要参考资料。 《lua参考手册》通常会涵盖以下内容: 1. **基础语法**:包括变量定义(全局与局部)、数据类型(如nil...

    lua学习资料lua学习资料lua学习资料lua学习资料lua学习资料

    首先,从标题和描述中我们可以看出,这个资料包专门针对Lua学习,反复提及“lua学习资料”,表明其内容可能包括教程、示例代码、练习题等,全面覆盖了学习的各个环节。 在标签中提到了“lua 课程资源”,这可能意味...

    Lua学习框架代码

    这个"Lua学习框架代码"提供了一个基础的学习平台,帮助初学者更好地理解和掌握Lua编程。下面将详细介绍Lua的一些核心概念和特性,以及如何通过这个框架进行学习。 1. Lua的基础语法: - 变量:Lua中的变量没有类型...

    lua学习资料集锦

    这个"lua学习资料集锦"显然包含了丰富的资源,帮助初学者系统地学习和理解Lua语言。以下是一些关于Lua的基本知识点和核心概念: 1. **基本语法**:Lua具有简洁的语法,支持变量声明、流程控制(如if语句、for循环、...

    Lua 学习教程 Android与Lua相互调用

    开源项目LuaJava(https://github.com/mkottman/AndroLua )对这些JNI接口进行了很好的封装,它是一个包含了LuaJava的Android平台的Lua解析器,它提供一系列映射到Lua C实现函数的Java接口。 1.获取LuaJava 工程,...

    delphi7与lua相互调用的例子

    在C语言中,通过lua_open函数启动一个Lua虚拟机,然后通过luaL_loadstring或luaL_dostring加载和执行Lua代码。在Delphi中,过程相似,但需使用Delphi的动态链接库(DLL)接口来调用Lua的C API。在这个例子中,"lua-...

    lua注入学习的好东西

    Lua是一种轻量级的脚本语言,常被用于游戏开发,因为它语法简洁,易于学习,且与C/C++等系统编程语言集成良好。在游戏开发中,Lua常常作为游戏逻辑和用户界面的控制层,而游戏的核心部分则由更底层的语言编写,以...

    Lua学习入门教程

    ### Lua学习入门教程 #### 一、引言 本文旨在为初学者提供Lua脚本语言的基础教程。假设读者已经具备一定的编程基础,如了解Basic或C等语言的基本概念。Lua是一种轻量级、高效的脚本语言,常用于游戏开发和其他需要...

    lua学习库文档资料

    这个"lua学习库文档资料"压缩包包含了对Lua语言关键部分的深入学习材料,特别是针对lua4.0和lua5.1版本的API函数。 首先,我们要了解lua4.0函数库。Lua 4.0是该语言的一个较早版本,它的函数库提供了基本的数据类型...

    lua学习资料,初学者的福音

    3. 学习并掌握“LUA_函数库.doc”中的函数,了解如何利用它们解决问题。 4. 详读“Lua.pdf”,深化理论知识,探索更高级的特性。 记住,理论学习与实践相结合是最重要的,多写代码,多做项目,才能真正掌握Lua。祝...

    LUA学习资料(包括Programming in Lua+Lua 5.1 参考手册+LUA5.0.2解释器)

    本资源包包含了学习LUA的重要参考资料,包括《Programming in Lua》这本书、《Lua 5.1 参考手册》以及LUA 5.0.2的解释器。 《Programming in Lua》是由Pierre Giraud和Luiz Henrique de Figueiredo合著的一本权威...

    lua学习参考

    lua学习 相关函数库和学习参考资料。 包括:lua4.0函数库 lua5.2API函数 lua-table函数库 lua捕获 lua基本函数库 lua模式匹配 lua数学库 lua文件处理 lua系统库 lua学习总结 lua元表和元方法 string库函数 简单C访问...

    易语言lua的例子

    通过这些文件,你可以学习到如何在易语言环境中使用Lua,包括导入库、调用Lua函数、执行Lua脚本以及如何处理返回的结果。这对于想在易语言项目中利用Lua的强大功能,比如实现动态配置、游戏逻辑或者复杂的算法,是...

    lua脚本 学习学习学习学习学习学习

    “lua 学习”这个描述意味着我们将关注Lua的基础知识,包括语法、数据类型、控制结构、函数、表(Lua中的核心数据结构)以及模块化编程。让我们深入探讨一下这些关键概念: 1. **基础语法**:Lua的语法简洁明了,...

    lua学习课件

    这个"lua学习课件"包含的资源旨在帮助你深入理解Lua语言的基础和高级概念,提升你的编程技能。 首先,从标题我们可以推断,这个压缩包包含了一系列关于Lua的学习材料。学习课件通常涵盖课程大纲、讲义、练习题和...

    lua (vc环境)学习笔记(学习代码)

    以下是基于VC环境的lua学习中的一些核心概念和步骤: 1. **安装与配置**: 在VC环境中使用lua,首先需要下载lua的源码,并使用Visual Studio打开项目文件进行编译。这将生成lua的动态链接库(.dll)和静态链接库...

Global site tag (gtag.js) - Google Analytics