内置库的实现_从math模块看Lua的模块注册机制         Lua5.2自带了几个库,实现了一般应用最基本的需求。这些库的实现仅仅使用了Lua官方手册中提到的API,对Lua核心部分的代码几乎没有依赖,所以最易于阅读。阅读这些库的实现,也可以加深对Lua API的印象,方便我们自己扩展Lua。注意:在看这个
转载 2024-04-05 13:41:39
127阅读
 词法分析实例在《递归下降算法》一节里,介绍过数学表达式的词法分析,现在正式开始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
转载 2024-04-19 13:36:38
96阅读
数学库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
转载 2024-04-05 13:16:53
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
1223阅读
函数名描述示例结果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
397阅读
2评论
lua中,如果我们需要随机数的时候,会使用到math.random,为了避免伪随机我们的一般编写方式如下: -- 获取当前系统时间(秒)作为随机种子 math.randomseed(os.time()) -- 有三种方式: -- 1. 不带参数调用时,获取的是[0,1)范围内的随机浮点数 -- 2. 带一个整型参数时,获取的是[1,n]范围内的随机整数 -- 3. 带两个整型参数m,n时,获
实在厌倦了做了多个游戏项目之后,对常用的数学计算总是算了又忘忘了再算。与其他技术问题相比,一个解决一个数学型问题有着费时、不易调试逻辑错误、边界条件不明显有隐患、没成就感等特点。本着坑不能踩n+1次的心态,我做了这个东西——LuaMathLib。 今天的主角是LuaMathLib,一个通用可移植的纯Lua数学库。语言层面上的特点面向对象 即封装、实例化那堆术语了,目的是在任何面向对象语言中可
引言上面第1节,概要介绍了Lua1.0源代码的编译和执行过程,下面就让我们来看看真正的源代码吧。main函数你在哪里?任何一个可执行的程序都有一个main函数,那lua的main函数在哪里呢?在lua.c里面。/* ** lua.c ** Linguagem para Usuarios de Aplicacao ** TeCGraf - PUC-Rio ** 28 Apr 93 */ #in
stdlib.h和stdio.h的函数在libc.so (或静态链接的libc.a )中有实现,缺省情况下链接到您的可执行文件(如指定了-lc )。 可以指示GCC避免使用-nostdlib或-nodefaultlibs选项自动链接。math.h的math函数在libm.so (或静态链接的libm.a )中具有实现,缺省情况下libm未链接。 这个libm / libc分裂有历史的原因,没有一个
--经过数天的查阅网上的资料(资料各种坑啊,一系列问题!),终于让他在linux-mint17 cinnamon工作了网络上的资料问题:getting "llua_do_call: funcction conky_clock_rings execution failed: attempt to call a nil value"这个问题是普遍出现, 很多指向的是lua文件的value是了nil值解
转载 2024-06-14 15:14:03
71阅读
目录一、从main函数看整个状态机的初始化二、全局状态机 - 数据结构lua_State和global_State三、全局状态机 - 初始化lua_newstate四、全局状态机 - 销毁lua_close一、从main函数看整个状态机的初始化Lua的main函数方法中,lua_State *L = luaL_newstate(); 主要用于创建全局状态机。luaL_newstate主要
转载 2024-05-01 20:55:13
147阅读
工作后,整个人已经比較松懈了。尽管一直在看lua的源代码。可是一直是比較零碎的时间,没有系统的整理,所以还是收获不多。由于近期工作也不是非常忙了,就想整理下lua的源代码学习的笔记。加深下印象,并分享给大家。先说下这系列bolg我会每周更新2-3篇,没有顺序的这些文章都是自己的浅薄的理解。有什么错误,还请各位拍砖赐教。1.关于c语言函数的声明相信大家都知道接口的重要,在lu
转载 2024-04-21 08:43:44
40阅读
一、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 取参数最大值
转载 2024-05-27 20:02:31
105阅读
--[[ 命名空间: xstr 作者: apache(email: hqwemail@gmail.com; website: http://hi.baidu.com/hqwfreefly) 版本号: 0.2 (from 0.1) 创建日期: 2010-10-17 函数列表: trim, capitalize, count, startsw
转载 2024-04-03 15:01:36
100阅读
命名参数,有的翻译为具名参数,顾名思义就是给带入函数的参数起个名字,注意这个名字是固定的。我们知道一般的语言,比如c/c++,java等参数只有在函数定义的时候才有类型和变量名,在函数调用时传入的是变量名或者实际值,这里的变量名可以相同也可以不同。// 假定有函数squire int squire(int length, int width); // 我们调用是可以如下调用,带入的变量名可以使a
转载 2024-03-22 06:43:31
37阅读
简单说说Lua中的面向对象Lua中的table就是一种对象,看以下一段简单的代码: local tb1 = {a = 1, b = 2} local tb2 = {a = 1, b = 2} local tb3 = tb1
转载 2024-05-24 20:11:38
56阅读
Q:“引用”和“引用计数”?A:“引用”既为对象的名字。比如a = {},名叫a的变量存储的值是一个”table”,”table”的名字是a;同时还可以说变量a存储着”table”的“引用”。 当“(强)引用”被创建时,对象的“引用计数”加1,只要对象的“引用计数”不为0,对象就不会被销毁,Lua的“垃圾回收系统”只回收那些“引用计数”为0的对象。Q:“强引用”和“弱引用”?A:当对象被创建时会
转载 2024-08-16 09:19:50
41阅读
例如使用math模块math模块是标准库中的,所以不用安装,可以直接使用。使用方法是:>>> import math用import就将math模块引用过来了,下面就可以使用这个模块提供的工具了。比如,要得到圆周率:>>> math.pi 3.141592653589793这个模块都能做哪些事情呢?可以用下面的方法看到:dir查看模块可以使用些函数>>
转载 2023-05-28 17:51:22
207阅读
一、引子 开始本章之前我先提个问题:“如果一个整数的绝对值等于它自己,那么这个数是几?”如果你回答是 0 和 所有正数,那么请你耐心读完这篇文章吧。 本章是我『代码之谜』系列的第二篇,前一篇『代码之谜 - 开篇/前言/序』简单介绍了计算机与数学的不同。 数学中有许多复杂深刻的矛盾,数学家的工作就是解释或者反驳这些矛盾, 例如有限与无限、连续与离散、存在与构造、逻辑与直观、具体与抽象、概念与计算等
  • 1
  • 2
  • 3
  • 4
  • 5