词法分析实例在《递归下降算法》一节里,介绍过数学表达式的词法分析,现在正式开始lua语言的词法分析。以一段简单的lua代码为例:-- 输出最大值 local a, b = 10.5, 20.00 local c = math.max(a, b) local d = string.format( "maxval(%f,%f)=%f", a, b, c) print(d)代码逻辑为取a
--经过数天的查阅网上的资料(资料各种坑啊,一系列问题!),终于让他在linux-mint17 cinnamon工作了网络上的资料问题:getting "llua_do_call: funcction conky_clock_rings execution failed: attempt to call a nil value"这个问题是普遍出现, 很多指向的是lua文件的value是了nil值解
转载 2月前
51阅读
工作后,整个人已经比較松懈了。尽管一直在看lua的源代码。可是一直是比較零碎的时间,没有系统的整理,所以还是收获不多。由于近期工作也不是非常忙了,就想整理下lua的源代码学习的笔记。加深下印象,并分享给大家。先说下这系列bolg我会每周更新2-3篇,没有顺序的这些文章都是自己的浅薄的理解。有什么错误,还请各位拍砖赐教。1.关于c语言函数的声明相信大家都知道接口的重要,在lu
内置库的实现_从math模块看Lua的模块注册机制         Lua5.2自带了几个库,实现了一般应用最基本的需求。这些库的实现仅仅使用了Lua官方手册中提到的API,对Lua核心部分的代码几乎没有依赖,所以最易于阅读。阅读这些库的实现,也可以加深对Lua API的印象,方便我们自己扩展Lua。注意:在看这个
转载 4月前
75阅读
数学库math库由一组标准的数学函数构成,包括三角函数(sin,cos,tan,asin,acos 等)。变量 pi 和 huge ,其中 huge 表示Lua可以表示的最大数 函数 randonseed() 用于设置伪随机数生成器的种子数,如果种子数相同的话,程序运行每次都会生成相同的随机数。如希望得到不同的随机数,则使用当前时间作为种子数。调试库自省函数 debug.getinfo() 第一个
使用cocos2dx-lua做开发,免不了需要利用额外的lua扩展库。lua 扩展库一般由 c/c++ 写成,其接口有两种方式生成,一种是手写luaL_register(lua5.1),另一种是利用 tolua++ 工具。这里讨论的是前者,即如何把已经写好的库导入到cocos2dx项目中使用。项目采用的是 cocos2dx-3.x 版本,涉及到的目录文件请对号入座。准备所需的库首先我们要知道,co
转载 4月前
0阅读
http://blog.csdn.net/yanshou0619/article/details/8261184函数名描述示例结果pi圆周率math.pi3.1415926535898abs取绝对值math.abs(-2012)2012ceil向上取整math.ceil(9.1)10floor向下取整math.floor(9.9)9max取参数最大值math.max(2,4,6,8)8min取参数
lua
转载 精选 2013-02-26 14:29:41
1082阅读
函数名描述示例结果pi圆周率math.pi3.1415926535898abs取绝对值math.abs(-2012)2012ceil向上取整math.ceil(9.1)10floor向下取整math.floor(9.9)9max取参数最大值math.max(2,4,6,8)8min取参数最小值math.min(2,4,6,8)2pow计算x的y次幂math.pow(2,16)65536sqrt开平方math.sqrt(65536)256mod取模math.mod(65535,2)1modf取整数和小数部分math.modf(20.12)200.12randomseed设随机数种子math.ra
转载 2013-02-25 11:48:00
386阅读
2评论
实在厌倦了做了多个游戏项目之后,对常用的数学计算总是算了又忘忘了再算。与其他技术问题相比,一个解决一个数学型问题有着费时、不易调试逻辑错误、边界条件不明显有隐患、没成就感等特点。本着坑不能踩n+1次的心态,我做了这个东西——LuaMathLib。 今天的主角是LuaMathLib,一个通用可移植的纯Lua数学库。语言层面上的特点面向对象 即封装、实例化那堆术语了,目的是在任何面向对象语言中可
目录一、从main函数看整个状态机的初始化二、全局状态机 - 数据结构lua_State和global_State三、全局状态机 - 初始化lua_newstate四、全局状态机 - 销毁lua_close一、从main函数看整个状态机的初始化Lua的main函数方法中,lua_State *L = luaL_newstate(); 主要用于创建全局状态机。luaL_newstate主要
一、math库 atan2、sinh、cosh、tanh这4个应该用不到。 函数名 描述 示例 结果 pi 圆周率 math.pi 3.1415926535898 abs 取绝对值 math.abs(-2012) 2012 ceil 向上取整 math.ceil(9.1) 10 floor 向下取整 math.floor(9.9) 9 max 取参数最大值
转载 3月前
35阅读
--[[ 命名空间: xstr 作者: apache(email: hqwemail@gmail.com; website: http://hi.baidu.com/hqwfreefly) 版本号: 0.2 (from 0.1) 创建日期: 2010-10-17 函数列表: trim, capitalize, count, startsw
【转载】    http://www.cnblogs.com/whiteyun/archive/2009/08/10/1543040.html     基于Lua 5.1。圆周率    math.pi 为圆周率常量 = 3.14159265358979323846基本函
转载 精选 2014-10-22 11:07:14
6305阅读
1点赞
在科学和工程计算中,无涯教程经常需要数学运算,可以使用标准的Lua库数学来进行运算。下表显示了数学库...
lua
原创 2023-08-02 12:01:19
211阅读
前言竹子是 java 程序员一枚,最近在做一个登录的改造,用 lua 实现,现在基本算是告一段落,然后在此分享下在过程中遇到的坑吧。一定要注意使用 lua 的版本,版本不同,可能有的函数就没有了,比如 bit 中的 math.mod 函数,5.1 之后就改为 fmod() 了,但是当时引入的还是之前的版本,就报错了,报错了,但是
转载 4月前
41阅读
数据类型Lua 是一种动态类型的语言。在语言中没有类型定义的语法,每个值都”携带“了它自身的类型信息。Lua中有 8 种基础类型: nil(空)、boolean(布尔)、number(数字)、string(字符串)、userdata(自定义类型)、function(函数)、thread(线程)和table(表)。Lua 中可以通过 type() 来得到 值 的类型。print(type("Hell
今天函数哥为大家讲解一个较为烧脑,但运用比较广泛的函数—求余函数MOD,对于函数哥自身而言,MOD用在判定基数、偶数的作用层面上相对较多。比如通过身份证判定相应的性别,以及借助奇偶数的性质,用MOD做判定后对返回数值做特殊处理。具体表现的手法=mod(x,2),对于数值而言,要么是基数,要么是偶数,通过mod函数返回的结果,要么是1,要么是0,所以能够很便利地对某些数据做判定。话不多说,还是先看看
Lua是一种轻量级的脚本语言,它具有高效性、可扩展性和易学性等优点。在游戏开发领域,Lua语言得到了广泛应用。Lua语言可以用来实现游戏动作,包括角色行走、攻击、技能释放等。本文将详细介绍如何使用Lua语言实现游戏动作。一、Lua语言介绍Lua语言是一种轻量级的脚本语言,它最初是为了嵌入式系统而设计的。Lua语言具有以下优点:1.轻量级:Lua语言的核心只有几千行代码,因此它非常轻量级,可以轻松嵌
Torch7学习教程目录2.Lua进阶(一)2.1 迭代器与泛型for2.2 编译、调试、运行2.3 垃圾回收机制2.4 Lua错误处理小结 2.Lua进阶(一)这一章介绍和学习Lua语言中高级编程的一些技巧和方法等等,需要掌握的是迭代器、垃圾回收、编译调试以及错误处理过程等等。2.1 迭代器与泛型for迭代器与闭包Lua迭代器是一种支持指针类型的结构,它可以遍历集合中的每一个元素,Lua语言
再探Lua的require 我们之前实现了自己版本的require,首先认定为lua模块尝试加载,如果加载不成功则认定为C模块继续进行加载。实际上,在Lua内部,是通过searchers来区分不同的加载方式。Lua一共有4种searchers,用来加载lua模块的和加载C模块的分别是第2个和第3个。第1个searcher叫做preload,它使用package.preload这个内部table,
  • 1
  • 2
  • 3
  • 4
  • 5