lua中使用毫秒精度时间的方法
lua自带的时间函数只能到秒的精度。
为了统计到毫秒精度的时间,可以使用luasocket。下载地址http://files.luaforge.net/releases/luasocket/luasocket
编译安装的时候,你可能需要在源码包根目录下的config文件中指定LUAINC变量为你的lua路径。
local socket = require "socket"
local t0 = socket.gettime()
-- do something
local t1 = socket.gettime()
print("used time: "..t1-t0.."ms")
update:
如果对精度的要求不需要到毫秒级别,可以用自带的os模块.精度为0.01秒
local s = os.clock()
local e = os.clock()
print("used time"..e-s.." seconds")
相关推荐
-
lua中使用毫秒精度时间的方法
lua自带的时间函数只能到秒的精度. 为了统计到毫秒精度的时间,可以使用luasocket.下载地址http://files.luaforge.net/releases/luasocket/luasocket 编译安装的时候,你可能需要在源码包根目录下的config文件中指定LUAINC变量为你的lua路径. 复制代码 代码如下: local socket = require "socket" local t0 = socket.gettime() -- do something lo
-
Lua中的元表(metatable)、元方法(metamethod)详解
终于到了在实际中经常要用到的内容了--元表与元方法. 在第一次看见这两样东西的时候,可能会觉得它很深奥,但其实很好理解,虽然实际上它可能真的很深奥.(小若:停!滚粗.) 1.知道为什么1 + 1 = 2吗? 为什么在Lua中,1+1会等于2呢?(小若:难道除了Lua,其他地方就不等于2了?) 为什么数字和数字相加是合法的,为什么table和table相加就会报错?大家有想过这些问题吗? 没错,规则,这一切都只是规则而已,Lua规定了数字之间可以进行加减乘除,而table之间则不可以. 这是因
-
Lua中设置table为只读属性的方法详解
项目中部分只读表易被人误改写,故决定在非线上环境里对这些表附加只读属性,方便在出现误改写的时候抛出lua错误,最终版代码如下: --[[------------------------------------------------------------------------------ -** 设置table只读 出现改写会抛出lua error -- 用法 local cfg_proxy = read_only(cfg) retur cfg_proxy -- 增加了防重置设置read_o
-
Lua中释放table占用内存的方法
table的大小是动态变化的.看如下代码: 复制代码 代码如下: tb = {1,2,3} --数组大小4,hash表大小1(不管hash表有没有存数据,它的大小最小为1) tb[5] = 5 tb[100] = 100 --数组大小4,hash表大小2 因为后插入的两个数的key过于离散,所以它们被保存到hash表中.最终tb的大小为4+2=6. 这时我们对table进行删除操作: 复制代码 代码如下: tb[1] = nil tb[2] = nil tb[3] = nil tb
-
Lua中获取utf8字符串长度的方法和自定义函数
复制代码 代码如下: --- 获取utf8编码字符串正确长度的方法 -- @param str -- @return number function utfstrlen(str) local len = #str; local left = len; local cnt = 0; local arr={0,0xc0,0xe0,0xf0,0xf8,0xfc}; while left ~= 0 do local tmp=string.byte(str,-left); local i=#arr; wh
-
详解Lua中if ... else语句的使用方法
if 语句后面可以跟一个可选的else语句,当布尔表达式为假该语句执行. 语法 在Lua编程语言中的if ... else语句的语法是: 复制代码 代码如下: if(boolean_expression) then --[ statement(s) will execute if the boolean expression is true --] else --[ statement(s) will execute if the boolean expression is fals
-
详解Lua中的if语句的使用方法
if语句由一个或多个语句组成一个布尔表达式. 语法 Lua编程语言的if语句语法是: 复制代码 代码如下: if(boolean_expression) then --[ statement(s) will execute if the boolean expression is true --] end 如果布尔表达式的计算结果为代码的if语句为true,那么块将被执行.如果if语句的末尾(右大括号后)布尔表达式计算为false,那么第一组代码将被执行. Lua程序设计语言假定布尔tru
-
Lua中访问table里函数的方法示例
看例子代码: 复制代码 代码如下: do table_ = { a = 1, foo = function(i) return i end } print(table_.foo(1)) end
-
Lua中类的实现原理探讨(Lua中实现类的方法)
Lua中没有类的概念,但我们可以利用Lua本身的语言特性来实现类. 下文将详细的解释在Lua中实现类的原理,涉及到的细节点将拆分出来讲,相信对Lua中实现类的理解有困难的同学将会释疑. 类是什么? 想要实现类,就要知道类到底是什么. 在我看来,类,就是一个自己定义的变量类型.它约定了一些它的属性和方法,是属性和方法的一个集合. 所有的方法都需要一个名字,即使是匿名函数实际上也有个名字.这就形成了方法名和方法函数的键值映射关系,即方法名为键,映射的值为方法函数. 比如说有一个类是人,人有一个说话的
-
Android 在页面中显示打包日期的实现方法
项目有需求,要求在app里显示安装包打包的日期,我的想法是: 1,在build.gradle中定义打包的日期变量. 2,在app里引用BuildConfig文件自动生成的变量并显示. 实现如下: 先在Build.gradle中定义得到打包时间的方法,在文件内容最外层定义: //得到打包时间 def static releaseTime() { return new Date().format("yyyy-MM-dd HH:mm:ss", TimeZone.getTimeZone(&qu
随机推荐
- js代码实现点击按钮出现60秒倒计时
- PHP数据库万能引擎类adodb配置使用以及实例集锦
- python统计文本文件内单词数量的方法
- Docker-client for python详解及简单示例
- android AsynTask处理返回数据和AsynTask使用get,post请求
- php漏洞之跨网站请求伪造与防止伪造方法
- 用PHP 快速生成 Flash 动画的方法
- Linux用户配置sudo权限(visudo)的方法
- android编程实现sd卡读取数据库的方法
- js自动生成的元素与页面原有元素发生堆叠的解决方法
- 使用Android Studio检测内存泄露(LeakCanary)
- 深入浅析jQuery对象$.html
- 详细讲解JavaScript中的this绑定
- Ubuntu 14.04 更换阿里云源的方法
- Ubuntu14.04虚拟机安装(图文详解)
- PHP正确配置mysql(apache环境)
- 基于C++执行内存memcpy效率测试的分析
- PUBWIN网吧管理软件的破解与防范
- golang 之import和package的使用
- Java实现的百度语音识别功能示例