Philippe Lhoste |
|
长期以来一直是 Lua 的爱好者,也是 Lua 邮件列表的潜伏者,偶尔会参与讨论... 嗯,也不算偶尔,邮件列表的 Web 界面显示我(曾经... 2003 年初)是列表的前十名贡献者... 目前(2006 年),活跃度降低了很多,很多讨论都超出了我的理解范围,而且我还有其他兴趣(但仍然很喜欢 Lua!)。
除了第一个类似 Hello World 的测试程序外,我还用它来编写一些小型实用程序,比如将 Windows 的高 ASCII(Ansi)转换为 Mac 字符或 HTML 实体(见下文)。我并没有使用太多高级的 Lua 特性,比如协程或元表(除了用于实验类)。
我在 C 中为客户提供的 DLL 创建了一个 Lua 接口,用于测试它提供的 API(一个地址簿)。与之前我编写的硬编码 C 测试程序相比,这是一个很大的改进,因为我可以轻松快速地(无需编译)更改测试程序,验证错误是否已修复等等。我将来会写一些关于它的内容,因为它是一个非常棒的学习经历,而且我有一些想法可以分享。
我还开始了一个 Lua Win32 库。这是一项大工程(待完成),可能永远都在进行中。
我在 Lua 中编写了一组脚本,用于处理以制表符分隔的字段(Excel 或 Access 导出)中的邮政地址。这些脚本可以将名字与姓氏分开,规范化名字(首字母大写,添加缺失的法语重音),将门牌号与街道名称分开,规范化目标城镇的街道名称等等。还可以格式化这些数据以制作路由标签(打印在只能接受固定宽度非图形 Dos Ascii 数据的快速点阵打印机上...)。这是我用 Lua 完成的最全面的工作,很好地利用了它的特性,比如将函数放入数据数组的能力。
我做了一个小型的 [Lua 页面],其中提供了 MSVC++6 项目来编译 Lua,以及 Lua 4.0 的 Windows 二进制文件(在官方版本之前制作)。我还为 Lua 5.0 制作了它们。以及一个小巧的发布版:Lua.exe、LuaC.exe 和带索引的手册,适合测试和运行小型实用程序。文件可以在 [我的法语网站] 下载。
我计划用代码片段等来改进此页面。目前,代码片段可以在此处找到,位于 PhiLhoSoftLuaSamples 页面(严重过时!)。
我在 Wiki 上上传了一些我的 Lua 小工具程序。以下是其中大部分。
程序的输出是程序本身的源代码...
在很长一段时间后,回到严肃的 Lua 编程...(2006/07/13)
此程序返回“任何”Lua 对象的文本表示,包括表(和嵌套表)。函数不会反编译(当然)。它严格遵循真实的表构造语法,因此结果可以由 Lua 重新解析以重新创建对象,至少如果不存在复杂对象(函数,用户数据...)。它正确处理引用,除了循环(a 引用 b,b 引用 a)。
编辑 (2006/11/07): 我从“裸”字符串键中排除了关键字 (v.5.1)。我发现可以使用 string.dump 转储函数,但我应该将结果编码 (例如,使用 Base64) 为 ASCII 以保持干净,并且无论如何,在加载结果时,函数应该被解码回来。编辑 (2007/03/15): 对空表格进行了特殊、紧凑的处理。还修正了 tostring 结果 ("foo') 周围引号的错误。
旧签名...
--=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-- Philippe Lhoste (Paris -- France) Professional programmer and amateur artist Programmeur professionnel et artiste amateur http://Phi.Lho.free.fr --=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=-=#=--
我可以链接到外部图像! 现在,从 Wiki 本身! (自画像,带有小丑颜色...)
for
语法不是一个好主意。任何学习资料都应该与当前的稳定/发布版本相关。 --NDT