Joshua Wise |
|
我最近也做了一些其他的随机事情。 RiciLake 建议我开始记录一些东西,所以当我发现我做的一些有趣的事情时,我会在这里发布它们。像他一样,我可以在 IRC 频道上找到,该频道可以在 irc://irc.freenode.net/#lua 访问 - 我的用户名通常是 joshua_。如果你在网络上其他地方寻找我,请尝试 http://joshuawise.com/ 。
require"lails" require"luasql.sqlite" env = luasql.sqlite() conn = env:connect("/home/joshua/mirror-objects.sqlite") db = lails.db:new(conn){ tables = { objects = { primkey = "hash" } } } test = db.objects dofile("objects.lua") conn:execute("BEGIN TRANSACTION;") for k,v in pairs(objects) do test[k] = { moddate = v.moddate, mimetype = v.mimetype, mirrored = v.mirrored, length = v.length, lastaccessed = v.lastaccessed, url = v.url } end conn:execute("COMMIT;")我今天下午花了大约 25 分钟写了这个。最棒的一点是,当我将数据存储的用户转换过来时,我实际上不需要做太多改变 - 唯一的区别是我不需要加载和存储数据存储,我可以直接对数据库进行操作。稍后将详细介绍 Lails 的实际工作原理。
sqlite> INSERT INTO users (id, username) VALUES (1, "joshua"); sqlite> INSERT INTO users (id, username) VALUES (2, "someone"); sqlite> INSERT INTO acls (id, resource, user) VALUES (1, "/", 1); sqlite> INSERT INTO acls (id, resource, user) VALUES (2, "/home/someone", 2); sqlite> INSERT INTO acls (id, resource, user) VALUES (3, "/tmp", 2);很酷,对吧?这是 2007-02-04 早晨写的(如果你是在 2007-02-04 中午看到的,那你就已经过时了)。
#define function main() { int i = 0; function --i; printf("Hello, world!\n"); } /* x() print("Hello, world!") end x() -- */