随笔分类 - lua
摘要:背景根据CTeX论坛里的帖子1 2 TeX文件中如果要插入visio图,必须先转换成PDF格式,可以手动转换,也可以用VBS批量转换。我最近在研究ConTeXt,不了解LaTeX,我就说说ConTeXt的问题吧。首先,VBS转换成PDF是外挂的,转换过程独立于TeX的编译过程,必须手动写一个Makefile建立依赖关系,如果文档中包含的Visio图变了,那就必须修改Makefile,当然也可以编一个程序扫描所有的TeX文档,提取visio图信息,自动建立依赖关系。如果能够让TeX编译时在线地将visio图转成pdf,然后包含进来岂不是更好。其次,大家给出的解决方案对于PDF切白边一般都要调用外
阅读全文
摘要:经过之前的工作,总算可以在Cygwin中使用luacom了(参见这篇文章),但是不能在Windows下直接使用,有些事情还是很难办的。比如今天我想用luatex直接调用lua模块实现编译tex文档时,将其中包含的visio图在线转成pdf。于是,我终于忍不了了,把luacom的源代码编译并调试了下,修正了其中的一个BUG,参见https://github.com/windtail/luacom的最新一次提交。测试用例还是之前在cygwin中的那两个 http://www.cnblogs.com/windtail/archive/2012/07/01/2623173.html使用注意事项任何传递
阅读全文
摘要:前天尝试编cygwin上的lua模块(参见上一篇文章 cygwin install lua modules),累死了也没把gui搞定,iup有编译好的,但是不知道怎么用,wxLua编译不过。其实我主要还是用cygwin来做开发,用Lua写一些脚本方便开发,所以今天转战mingw/msys,mingw真是好啊,与win32真是无缝连接啊,lua和库都不用自己来编了,把LuaForWindows安装完的文件 lua.exe wlua.exe bin2c.exe lua和clibs文件夹,拿来放/usr/local/bin中基本就行了,可能还有两个需要做:执行 lua.exe -e "pr
阅读全文
摘要:写一篇博客纪念我今天的辛苦工作,虽然最后也不完美,但是这一点工作也许能给大家一点帮助,省得大家再重复走路了。最近用总用Lua和Cygwin,但Lua用的是LuaForWindows,因此不是原生态的cygwin的东西,其实我很想用cygwin中的Lua,但是cygwin中的lua没有模块啊,都要自己整,想想都觉得费劲。总希望有个人来做这件事,但是今天我终于忍不了了。整了一天,也没有把tecgraf的IUP/IM/CD给整上去,太菜了,没办法,先把整了的东西放上来吧。安装Cygwin安装时必须保证安装如下模块:lua autoconf automake autobuild gcc4 gcc4-g
阅读全文
摘要:前一段时间想用luacom来操作word文档,最终发现总有那么点问题。这两天用cygwin写bash脚本来完成一些Word文档操作,不得已总要调用cscript,通过javascript来访问wordr com对象,而这样调用cscript有两个问题让我很不爽:cscript又只接受Windows格式的路径,每次都要用 $(cygpath -w xxx) 来转换路径cscript输出或错误都是gb2312的,每次都要转换成utf-8:cscipt //nologo xxxxx.js 2>&1 | piconv -f gb2312 -t utf-8Cygwin如何直接访问com对象
阅读全文
摘要:新立得中没有wxlua,所以只能下载最新的源代码来编译,幸好ubuntu中有wxWidgets不然这个也得自己来编译~~编译很简单:./configuremakemake install结果很残酷:error while loading shared libraries: libwxlua_gtk2u_wxbindxrc-2.8.so.0: cannot open shared object file: No such file or directory为啥呢,找找 libwxlua_gtk2u_wxbindxrc-2.8.so.0 在哪里,在 /usr/local/lib 中,而wx.so在
阅读全文
摘要:上一篇写到某位大哥用perl写了一个doxygen lua filter,(INPUT_FILTER)自我感觉应该用lua来写。昨天上网搜了搜,原来filter的原理还是很简单的,就是读源代码,然后向stdout输出转换过程序。不管什么语言都要转换成对应的C/C++的元素才能被doxygen理解。看看doxygen lua做了什么:lua2dox example.lua > example.txt(lua2dox是最后的filter主程序,doxygen调用它时会将程序文件名作为参数,lua2dox会将转换过的程序输出到stdout)example.txt的内容如下:/// @file
阅读全文
摘要:写C代码时,用惯了doxygen,现在写lua代码,也特别地希望用doxygen,上官网看了看,真发现有lua的filtergit clone https://github.com/alecchen/doxygen-lua.git 这个源即可获取,不过貌似人家没有管Windows什么事,perl脚本,所有东西都是Linux的好在我们有cygwin,在cygwin中安装上perl和doxygen后,依然不能按照他说的办法安装,错误信息大约是找不到 Install.pm之类的,经研究发现,其实是可以这样的:cp -r doxygen-lua/lib/Doxygen /lib/perl5/5.10/
阅读全文
摘要:上一篇说了luacom不支持gbk,不过可以用iconv来解决,但是我还发现了一个问题,貌似 enumerator 不太好使require "luacom"
require "luaiconv" function createIconv(to, from) local cd = iconv.new(to, from) return function(txt) return cd:iconv(txt) end
end L = createIconv("utf-8", "gbk")
Z = createIconv(&q
阅读全文
摘要:背景 luacom是一个非常强大的模块,它使我们可以应用各种com组件,比如Word,但是,有一个问题,中文文件名它不识别。为什么呢?因为com内部是unicode的,于是luacom要求所有输入都是utf-8的,而且luacom的输出也是utf-8的。这可肿么办啊?iconv GNU有个libiconv库,要是有这个我们就不怕了! luaforge上搜索下,果然有lua-iconv,安装! luarocks install lua-iconv 不好意思,出错啦!出错的原因有两个:我们没有安装libiconv库lua-iconv没有提供用cl编译的方法自己编译lua-iconv下载编译好的Wi
阅读全文
摘要:背景学了一段时间lua,由于luacom不支持gbk,所以想做一个gbk转换成utf-8的模块。但是不会写模块怎么办?学!目标创建一个calc模块,输出两个函数 sum和average,最后在lua程序想这样用:require "calc"
a = 5
b = 10
print(calc.sum(a,b))
print(calc.average(a,b))学习过程简述读Programming in Lua有关C API一节读Lua Reference Manual -> The Application Program Interface 一节下载lua5.1.4源代码
阅读全文
摘要:luasql模块支持sqlite3,可以完成最基本的数据库功能,不过官方文档上写得不是很详细。扫了下源代码,外加实验了下,得出了点经验。环境Windows XP,LuaForWindows代码require"luasql.sqlite3" function enumSimpleTable(t) print"-------------------" fork,v in pairs(t) do print(k, " = ", v) end print"-------------...
阅读全文
摘要:背景最近想在公司整一个git服务器,需要做一些配置,看着.git/hooks/文件夹中的*.sample文件夹,很是不解,把".sample"去掉就可以运行?事实证明,真的可以,将下面的代码放到pre-commit文件中,就可以在commit时,输出"Hello Git!"消息#!/bin/shecho "Hello Git!"Lua虽然我会一点点bash的脚本,但其实跟不会没多大区别~~鉴于Lua的简单易用性,及在Windows平台采用wxLua做界面是如此地优雅,已经准备在以后的日常工作中广泛采用Lua进行一些简单地自动化操作。所
阅读全文

浙公网安备 33010602011771号