展开

关键词

Lua Lua Lua!!!

Lua是啥? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。 的几种数据类型 为什么我要突然折腾这个Lua,以前玩ESP8266用过几天这个Lua,昨天研究ML的固件,我发现扩展功能的实现就是Lua的实现。 ML的这个Lua的接口实现。 not-this-time http://www.lua.org/manual/5.4/ Lua实现的官方文档 https://builds.magiclantern.fm/lua_api/index.html

10731

Lua菜鸟①】初识Lua

简介 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。 独立应用脚本 Web 应用脚本 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench 安全系统,如入侵检测系统 以下使用window环境,适合我这样的菜鸟: 第一个Lua程序, 环境配置 大家可以在Lua的官网下载window系统所需要的编译器,然后配置环境即可 将lua命令加入到path中即可,这样就可以利用VS Code直接运行 ? 然后就是给世界打招呼了 ? 菜鸟终于可以写Lua了,明天继续!

80790
  • 广告
    关闭

    什么是世界上最好的编程语言?丨云托管征文活动

    代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    lua

    游戏里面用lua来热更新的 redis的默认方法也是lua(我觉得是因为和nosql很搭) 变量 全局变量直接使用的时候为nil 数组下标从0开始(不推荐)a = {[0]="123","32", "23"}; 支持多返回值,多个同时赋值,只需要一个时候使用哑元_ 尽量避免一个下划线开头+大写字母 ---[[可以注销掉块注释 type函数永远返回一个字符串 lua将false和nil视为假,将0和空字符串视为真 LUA对于小于1014的数字用双精度没有四舍五入的浮点误差,合法的数字写法:4,0.4,4.58e-3,0.3e12,5e+20 Lua的字符串是只读的,\<ddd>表达数值转义,[[ ]],[=== (Lua4.0 以前在度数下工作。)你可以使用 deg 和 rad 函数在度和弧度之间转换。 ->OnInitOK()->CtrlManager.Init() Define.Lua:"xxx=xxxCtrl" GameManager.Lua:ctrl:Awake() LayerPanel

    37320

    Lua IO

    持久化数据,是每一个私服开发者必须会的,前面已经说了lua 表数据与字符串互转,那么本篇文章就可以通过此来实现数据的持久化!

    5210

    lua 学习

    Lua的数据类型 nil、boolean、number、string、function、table、userdata、thread 定义变量 local a = "hello wordld" local b = 1 Lua逻辑判断 if XXXXX then end 如果 nil 进行比较 需使用 "nil" if a == "nil" then end if XXXXX then elseif break end end 结果输出: Key: zhangsan Key: lisi Lua函数 & 使用 function APlusB(a,b) return a + b; end local c = APlusB(1,2); print(c) Lua可变参数 … function(...) ",4) //转化为 string string.format() Lua数组 array = {"Lua", "Tutorial"} for i= 0, 2 do print(array[i

    5310

    Lua 基础

    最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。 关键词 以下列出了 Lua 的保留关键字。 Lua 数据类型 Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。 Lua 变量 Lua 变量有三种类型:全局变量、局部变量、表中的域。 Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。 Lua 也提供了 . 操作。 Lua 字符串 Lua 语言中字符串可以使用以下三种方式来表示: 单引号间的一串字符。 双引号间的一串字符。 [和]间的一串字符。

    17400

    lua记录

    -- https://github.com/aerospike/aerospike-lua-core/blob/master/src/as.lua -- https://github.com/aerospike print(c) a,b,c = c,b,a --交换变量 print(a) print(b) print(c) -- boolean 类型只有两个可选值:true(真) 和 false(假), -- Lua

    8230

    Lua程序设计》-1.Lua入门

    逻辑运算符:and、or和not and运算结果:如果第一个操作数为“false”,则返回第一个数,否则返回第二个 or运算结果:如果第一个操作数不为“fa...

    33310

    Lua的调试

    改BUG改到脚本里,郁闷了,没法调试 google一下,找到了云风大牛上的一个Lua调试器 看了一下,估计转内网我也不会用 通常没法单步调试的程序我都是LOG/TRACE 本想用Lua的print来着,

    35080

    理解lua语法

    这篇文章源于我看到某乎某用户觉得lua语法“违反直觉”,我觉得有这感觉源于lua的语法糖,如果流于表面的把这些加糖后的语法往C,C#,java等语义上套确实容易产生误解。 lua里头一些很常见的语法,其实都是加了糖。 add"] = function(a, b) end 所以,仍然是对一个hashmap设置键值对,只不过值相对于c/c#/java比较特殊,这是个function(准确来说是一个closure),因为lua 前面有local add,其实就是对add变量的一次赋值,如果没有,还要脱糖: _ENV["add"] = function(a, b) #>=lua53 return a + b end 其实就是对一个特殊的

    10920

    Lua编程技巧

    简单翻译了一篇编程技巧,虽然内容上是关于 Lua 的,但实际上大部分技巧都是通用的(适用于其他语言). - y2 local dsq = dx^2 + dy^2 local d = math.sqrt(dsq) local nx, ny = dx/d, dy/d 合并函数调用 和许多解释型语言一样, Lua 并不支持函数声明,所以变更函数名字或者函数所需参数个数的行为,在 Lua 中是个危险且费时的操作:每当你修改某个特定函数的时候,你必须手动对你代码中所有调用该函数的地方进行同步修改,这个过程极易产生 Bug,这也是为什么我们要尽量避免重复的函数调用.当我们与第三方 API 或者 Lua 模块交互时,合并函数调用会变得更为重要,因为更少的函数调用会让我们在 移植新平台 或者 升级 API 时更加简单. 在 Lua 中,函数直接支持多值返回,这让我们基本不用创建中间(table)对象来处理多返回值的问题. -- example 1 player.get_position = function(player

    5130

    lua表排序

    Lua作为一种很强大且轻量级脚本语言的存在,对于掌握其几乎无所不能的Table(其实就是一个Key Value的数据结构,它很像Javascript中的Object,或是PHP中的数组,在别的语言里叫Dict 对于Lua语言可参见酷壳Lua简明教程这篇Blog。 对于lua的table排序问题,一般的使用大多是按照value值来排序,使用table.sort( needSortTable , func)即可(可以根据自己的需要重写func,否则会根据默认来:默认的情形之下

    1.8K110

    Lua 性能剖析

    有的小伙伴(包括本文作者)想在现有c++系统中引入lua,被挑战的第一个问题往往是:“Lua性能怎么样?” 笔者研究了lua 5.3.4的代码,分析lua性能比C慢的原因,对Lua使用过程中可能碰到性能问题和解决方案也有部分阐述。 Lua函数调用的性能 通过下面的测试代码, 对比C和Lua函数调用的开销,可以看出Lua函数调用开销是C的30倍。 有两种方案可以供对比: 方案1中,C不需要理解数据的描述信息,只提供解码基本类型的函数,由Lua来调用(Lua调用C会引起Lua数据栈和CallInfo的增长和回收)。 参考资料 http://www.lua.org/ftp/lua-5.3.4.tar.gz The Implementation of Lua 5.0 Lua Performance Tips A No-Frill

    9.8K70

    lua学习笔记

    Lua学习笔记 为什么要学习lua 最重要的当然是工作原因,最近有个项目是相关于游戏服务器的,而用的框架是skynet,用的语言是lua。 在 Lua 中,全局变量被初始化为这个值。 ( 不被内部任何地方使用。) 错误处理 由于 Lua 是一门嵌入式扩展语言,其所有行为均源于宿主程序中 C 代码对某个 Lua 库函数的调用。 Lua 允许多重赋值。 编程接口 这个部分描述了 Lua 的 C API , 也就是宿主程序跟 Lua 通讯用的一组 C 函数。 所有的 API 函数按相关的类型以及常量都声明在头文件 lua.h 中。 C 库中所有的 Lua API 函数都不去检查参数是否相容及有效。 然而,你可以在编译 Lua 时加上打开一个宏开关 LUA_USE_APICHECK 来改变这个行为。

    25720

    玩转 lua in Redis

    从今天开始讲写一些redis和lua脚本的相关的东西,lua这个脚本是一个好东西,可以运行在任何平台上,也可以嵌入到大多数语言当中,来扩展其功能。 二、Lua简介 Lua 是一个小巧的脚本语言。 Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。 Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。 Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。

    21530

    lua解析json

    Json 一种文本数据格式,具体参见菜鸟教程;  环境搭建 主机Ubuntu 16.04 安装sudo aptitude install lus-cjson 和lua 代码实现 test.json "user":"ubuntu1", "password":"45678", "ip":"192.168.1.23" } ] } test.lua

    3.7K20

    Lua入门 - helloworld

    http://www.lua.org/download.html tar zxvf lua-5.2.1.tar.gz  make linux && make install 二、第一个lua脚本 打印 hello.lua print"hello world!" 执行 lua hello.lua 三、在c中调用lua脚本 创建run_hellolua.c #include <stdio.h> #include <lua.h> #include <lualib.h > #include <lauxlib.h> lua_State * L; int main(int argc, char ** argv) { /* init lua*/ script*/ luaL_dofile(L, "hello.lua"); /* clear lua*/ lua_close(L);

    26910

    好玩的lua

    前言:最近体验了一下Openresty,了解到Openresty里使用lua语言来增强了Nginx的能力,所以又去了解了一下lualua语言小而精悍,lua引擎也值得学习。 以上这些似乎没什么大的作用,因为我们执行简单地使用lua语言提供的能力。而lua的能力绝不止于此,lua称为胶水语言,除了可以嵌入其他语言中,还支持拓展。下面我们看如果拓展lua的能力。 2 基于lua的demo运行时 虽然这里只是简单地拓展lua,但是这里称之为运行时是因为类似Node.js基于V8一样,我们也可以通过拓展lua来实现一个基于lua的运行时。 是通过一个栈进行通信的,lua调用c函数的时候,c函数可以从栈中获取lua的参数,也可也从栈中返回执行结果给lua。 3 lua变量存储的设计 lua是动态类型的语言,意味着一个变量的值的类型是可以改变的,下面看一下lua中是如何设计底层的存储的。lua所有变量都使用TValue结构体来表示。

    13420

    Lua学习笔记

    lua -e "print(\"Hello World\")" -l: 加载该选项后的Lua库文件,如:lua -l mylib -e "x = 10",该命令在执行之前先将mylib中的Lua 如: /> lua lua-script.lua a b c 在该脚本的程序入口,lua解释器会将所有命令行参数创建一个名为arg的table。 其中包括读写Lua全局变量、调用Lua函数、运行一段Lua代码,以及注册C函数以供Lua代码调用等。 :LUA_TNIL、LUA_TNUMBER、LUA_TBOOLEAN、LUA_TSTRING、LUA_TTABLE、LUA_TFUNCTION、LUA_TUSERDATA、LUA_TTHREAD和LUA_TLIGHTUSERDATA *lua_tolstring (lua_State *L, int index, size_t *len); lua_Number lua_tonumber (lua_State *L, int

    1.5K60

    lua Standard Libraries

    to Lua. Lua initializes the C path package.cpath in the same way it initializes the Lua path package.path, using At start-up, Lua initializes this variable with the value of the environment variable LUA_PATH or with So, for instance, if the Lua path is "./?.lua;./?.lc;/usr/local/? /init.lua" the search for a Lua loader for module foo will try to load the files ./foo.lua, .

    51590

    相关产品

    • 云+校园特惠套餐

      校园优惠套餐升级,云服务器1核2G10元/月起购

    相关资讯

    热门标签

    扫码关注腾讯云开发者

    领取腾讯云代金券