Lua中的函数代码实例

 更新时间:2015年04月22日 10:19:58   投稿:junjie  
这篇文章主要介绍了Lua中的函数代码实例,本文着重讲解函数的写法以及一些小知识,需要的朋友可以参考下

在lua中,函数是一种“第一类值”,它们具有特定的词法域。

第一类值:表示在lua中,函数与其他传统类型的值(数字和字符串)具有相同的权利,函数可以存储到变量中(无论全局变量还是局部变量)或者是table中,可以作为实参传递给其他函数,还可以作为其他函数的返回值。

词法域:是指一个函数可以嵌套在另一个函数中。内部的函数可以访问外部函数中的变量。
看例子代码:

复制代码 代码如下:

do 
     function foo(a, b, c) 
        print(a, b, c); 
     end 
 
     local c = foo; 
     c(2, 3, 4); 
 
end 

输出的结果是:2, 3, 4

例子:

复制代码 代码如下:

do 
    function derivative(f, delta) 
        delta = delta or 0.01 
        print("delta: ", delta); 
        return function (x) 
                    return (f(x + delta) - f(x)) / delta 
                end 
    end 
    local c = derivative(math.sin) 
    print(math.cos(10), c(10)) 
end 

在上面的例子中,
复制代码 代码如下:

c = function(x) return (math.sin(x + 0.1) -math.sin(x))  / 0.01 

因为:
复制代码 代码如下:

local c = derivative(math.sin)

将:
复制代码 代码如下:

f = math.sin 

相关文章

  • Lua中访问table里函数的方法示例

    Lua中访问table里函数的方法示例

    这篇文章主要介绍了Lua中访问table里函数的方法示例,本文例子超级简单,算是入门实例吧,其实只需要表名.方法名即可访问,重要的还是其它代码写法,本文给出了一个完整的代码示例,需要的朋友可以参考下
    2015-04-04
  • 实现Lua中数据类型的源码分享

    实现Lua中数据类型的源码分享

    在Lua中有8种基础类型,像其他动态语言一样,在语言中没有类型定义的语法,每个值都携带了它自身的类型信息。下面我们就来尝试通过Lua 5.2.1的源码来看类型的实现
    2015-04-04
  • Redis教程(三):List数据类型

    Redis教程(三):List数据类型

    这篇文章主要介绍了Redis教程(三):List数据类型,本文讲解了List数据类型概述、相关命令列表、命令示例、链表结构的小技巧等内容,需要的朋友可以参考下
    2015-04-04
  • 详解Lua中的变量相关知识点

    详解Lua中的变量相关知识点

    这篇文章主要介绍了Lua中的变量相关知识点,是Lua入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Lua中的文件I/O操作教程

    Lua中的文件I/O操作教程

    这篇文章主要介绍了Lua中的文件I/O操作教程,是Lua入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • Lua中的loadfile、dofile、loadstring、require用法实例

    Lua中的loadfile、dofile、loadstring、require用法实例

    这篇文章主要介绍了Lua中的loadfile、dofile、loadstring、require用法实例,需要的朋友可以参考下
    2015-04-04
  • Lua中的变量和流控制入门学习

    Lua中的变量和流控制入门学习

    这篇文章主要介绍了Lua中的变量和流控制入门学习,其中--两个横线开始单行的注释,--[[加上两个[和]表示多行的注释--]],需要的朋友可以参考下
    2015-07-07
  • Lua一维数组与多维数组的使用示例

    Lua一维数组与多维数组的使用示例

    今天小编就为大家分享一篇关于Lua一维数组与多维数组的使用示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Lua教程(一):在C++中嵌入Lua脚本

    Lua教程(一):在C++中嵌入Lua脚本

    这篇文章主要介绍了Lua教程(一):在C++中嵌入Lua脚本,本文在MAC环境中开发,同时探讨了IOS项目集成Lua、Android项目集成Lua等内容,需要的朋友可以参考下
    2014-09-09
  • Lua游戏开发教程之时区问题详解

    Lua游戏开发教程之时区问题详解

    时间显示问题说白了就是时差问题,这篇文章主要给大家介绍了关于Lua游戏开发教程之时区问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09

最新评论