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
随机推荐
- 解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
- Linux中split大文件分割和cat合并文件详解
- java文件重命名(文件批量重命名)实例程序代码分享
- iOS中UIScrollView嵌套UITableView的实践教程
- js实现滚动条滚动到某个位置便自动定位某个tr
- asp.net DataSet转换成josn并输出示例
- PHP利用hash冲突漏洞进行DDoS攻击的方法分析
- 一个用于网络的工具函数库
- python批量添加zabbix Screens的两个脚本分享
- Python中表示字符串的三种方法
- asp中利用xmlhttp抓取网页内容的代码
- C++中与输入相关的istream类成员函数简介
- C#实现rabbitmq 延迟队列功能实例代码
- node.js+jQuery实现用户登录注册AJAX交互
- 详解nodejs 文本操作模块-fs模块(三)
- jsp 从web.xml读取连接数据库的参数
- js实现带缓动动画的导航栏效果
- 详解动画插件wow.js的使用方法
- 高手总结的电脑应用技巧第1/3页
- Serv-U占用IIS的80端口造成冲突导致iis无法运行的解决方法(serv_u6-8版本)