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")

Posted by Debug 2013年4月07日 11:44


lua中使用json

用lua的cjson包就行了。

下载地址在这里 http://www.kyne.com.au/~mark/software/lua-cjson.php

安装的话,make&make install就行了。

local cjson = require("cjson")

local str = '["a", "b", "c"]'
local j = cjson.decode(str)
for i,v in ipairs(j) do
    print(v)
end

str = '{"A":1, "B":2}'
j = cjson.decode(str)
for k,v in pairs(j) do
    print(k..":"..v)
end
j['C']='c'
new_str = cjson.encode(j)
print(new_str)

Posted by Debug 2013年3月21日 13:55


用lua访问http

首先你需要lua, 这自不必说。

然后你需要luasocket。 下载地址http://files.luaforge.net/releases/luasocket/luasocket

不过luasocket好像很久没有更新了,也只支持到lua5.1。

local http = require("socket.http")
local ltn12 = require("ltn12")

function http.get(u)
   local t = {}
   local r, c, h = http.request{
      url = u,
      sink = ltn12.sink.table(t)}
   return r, c, h, table.concat(t)
end

url = "http://www.baidu.com"
r,c,h,body=http.get(url)
if c~= 200 then
    return
end
print(body)

Posted by Debug 2013年3月21日 13:45