function fib(n) if n < 2 then return 1 end return fib(n - 2) + fib(n - 1) end
-- 支持闭包及匿名函数: function adder(x) -- 调用adder时,会创建用于返回的函数,并且能记住变量x的值: return function (y) return x + y end end a1 = adder(9) a2 = adder(36) print(a1(16)) --> 25 print(a2(64)) --> 100
-- 返回值、函数调用和赋值都可以使用长度不匹配的list。 -- 不匹配的接收方会被赋为nil; -- 不匹配的发送方会被忽略。x, y, z = 1, 2, 3, 4 -- 现在x = 1, y = 2, z = 3, 而 4 会被丢弃。
function bar(a, b, c) print(a, b, c) return 4, 8, 15, 16, 23, 42 endx, y = bar('zaphod') --> prints "zaphod nil nil" -- 现在 x = 4, y = 8, 而值15..42被丢弃。
-- 函数是一等公民,可以是局部或者全局的。 -- 下面是等价的: function f(x) return x * x end f = function (x) return x * x end
-- 这些也是等价的: local function g(x) return math.sin(x) end local g; g = function (x) return math.sin(x) end -- 'local g'可以支持g自引用。
-- 顺便提一下,三角函数是以弧度为单位的。
-- 用一个字符串参数调用函数,不需要括号: print 'hello' --可以工作。
本文向大家介绍Lua中的函数写法简明示例,包括了Lua中的函数写法简明示例的使用技巧和注意事项,需要的朋友参考一下 函数定义:用关键字function定义函数,以关键字end结束 局部变量:用关键字local定义.如果没有用local定义,即使在函数内部定义定义的变量也是全局变量! 函数可以有多个返回值:return a,b,c... 平行赋值:a,b=c,d 全局变量:前面的代码定义了三个全局变
这一章我们简要地介绍 Lua 语言的基础知识,特别地,我们会有意将讨论放置于 OpenResty 的上下文中。同时,我们并不会回避 LuaJIT 独有的新特性;当然,在遇到这样的独有特性时,我们都会予以说明。我们会关注各个语言结构和标准库函数对性能的潜在影响。在讨论性能相关的问题时,我们只会关心 LuaJIT 实现。 Lua 是什么? 1993 年在巴西里约热内卢天主教大学(Pontifical
本文向大家介绍Lua中的基本数据类型详细介绍,包括了Lua中的基本数据类型详细介绍的使用技巧和注意事项,需要的朋友参考一下 基础介绍 Lua是一种动态类型的语言。在语言中没有类型定义的语法,每个值都带有其自身的类型信息。在Lua中有8中基本类型,分别是: 1.nil(空)类型 2.boolean(布尔)类型 3.number(数字)类型 4.string(字符串)类型 5.userdata(自定义
本文向大家介绍js对象简介与基本用法示例,包括了js对象简介与基本用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js对象简介与基本用法。分享给大家供大家参考,具体如下: 对象简介 js中没有"类"的概念,只有对象。 A:对象声明方式有三种 ------------1.调用Object函数创建对象: 对于一个已经声明的对象,可以给该对象设置任意属性。比如 这样就给person对象
本文向大家介绍Oracle文本函数简介,包括了Oracle文本函数简介的使用技巧和注意事项,需要的朋友参考一下 Oracle文本函数使我们常用的函数,下面就为您介绍几种Oracle文本函数的用法,供您参考学习,希望可以让您对Oracle文本函数有更深的认识。 (1)UPPER、LOWER和INITCAP 这三个函数更改提供给它们的文体的大小写。 函数INITCAP能够整理杂乱的文本,如下: (2)
本文向大家介绍Lua中table库函数方法介绍,包括了Lua中table库函数方法介绍的使用技巧和注意事项,需要的朋友参考一下 一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明. table.concat(table, sep, start, end) concat是concatenate(连锁, 连接)的缩写. table.concat(