当前位置: 首页 > 编程笔记 >

举例简介Lua中函数的基本用法

曾奇略
2023-03-14
本文向大家介绍举例简介Lua中函数的基本用法,包括了举例简介Lua中函数的基本用法的使用技巧和注意事项,需要的朋友参考一下

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

end

x, 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(