Archive for December, 2007

拿到翻译啦

2007-12-28 21:17 | by 2ndboy

  需要准备的资料还包括英文版的毕业证、学位证和大学成绩单。这些翻译件必须由翻译公司来翻译,译完以后最重要的就是盖翻译公司的公章,据说后面会跟中文版本一起拿去公正,真是麻烦,搞得这么正式。

  现在才知道搞个翻译公司有多赚,毕业证和学位证两张小纸上能有多少字?一页 100!!!要不是需要翻译公司的一个公章,要不是公司给报销,脑子进了水的 SB 才到翻印公司去译这种东西,成绩单正反面加起来 150,总共 350 就 bye 啦。还好我成绩单只有这么一页,有个同事的成绩单居然有 6 页,他们学校真是暴殄天物!

  为了不给死命赚钱的翻译公司做广告,这里就不提翻译公司的名字啦。等护照中……

在 UltraEdit 里正确显示 Lua 的块注释

2007-12-27 22:33 | by 2ndboy

  我算得上是 UltraEdit 的铁杆用户啦(虽然是 D 版用户:)),所以写 Lua 程序当然用 UltraEdit 啦!让 UltraEdit 支持 Lua 的语法高亮很简单,去 UE 的官网,下载 Lua 的语法文件集成在自带的语法高亮文件里就可以啦。

  但是 UE 官网上这个语法文件貌似比较旧,是 02 年 8 月发布的,块注释居然用的是“[[”和“]]”:“Block Comment On = [[ Block Comment Off = ]]”。于是手工改成“Block Comment On = –[[ Block Comment Off = –]]”保存,结果发现行注释“–”是可以正确显示的,但是块注释就只能显示快注释开始标记所在的那一行。貌似是 UE 的 bug?估计跟行注释有冲突,因为语法文件里是这么写的“Line Comment = — Block Comment On = –[[ Block Comment Off = –]]”。试了一下把行注释放在块注释后面也不行,开动 Google,结果在 UE 的论坛上找到了答案

  把 Lua 的语法文件第一行改成如下这个样子就可以啦:
/L12″Lua” Block Comment On = –[[ Block Comment Off = –]] Block Comment On Alt = — Escape Char = \ String Chars = “‘ File Extensions = LUA

  查了一下 UE 的帮助文档,上面对“Block Comment On Alt”的描述是这样的“The second set of block comments are in the form “Block Comment On Alt = ” and “Block Comment Off Alt = ” followed by up to five characters each that define the comment designators. If a Block Comment On Alt is defined but the Block Comment Off Alt is not defined the commenting will stop at the end of the line.”。看来块注释指示器有两种,这个办法还真是比较巧妙,但是要熟读 UE 文档才能想的到呀。

  改完以后再看 Lua 代码里的块注释,现在已经可以完美显示啦:D

Update:WordPress 会对英文减号做转换,上面的所有 — 都是两个连写的英文减号。

办护照

2007-12-24 22:40 | by 2ndboy

  今天早上跟同事一起去办护照,得到的经验是——“办证要赶早”,我们办完要离开的时候排队的人已经坐满大厅啦:)

  地址在华光路 3 号,早上下雨,为了方便我们打车赶到,节省时间若干。我跟 xl 照片都是准备好的(这位牛人的护照照片居然是自拍的,这里赞一个)填了表直接拿号办理,被告知要先“取像”(就是被公安局的 DC 拍一下,然后给你 3 个条形码)再办理,于是号子作废,到旁边二楼取像先。我们的照片是准备好的,但是也要取像后拿条形码,所以估计护照上的照片只是个样子,真正在政府备案的还是取像时拍的那个版本。

  取好像之后再去拿号子办理,这里表扬我们自己来的早就是好!(BTW,没有照片可以在取像的地方现场照,照完马上打印出来,巨快!貌似他们网站上说不受理打印的照片的;))需要带的是身份证和户口页(或者户籍证明),表格巨简单,办理也很快,按下不表。

  办理完以后去缴费,Wow!办个护照居然要 200 大洋,看来我把这本本想简单啦,还以为 50 够啦。钱缴完后拿到“受理中国公民因私出国(境)申请回执单”,15 个工作日后取,xl 说实际上 10 天就可以取,不管它,晚点取好,免得头朝下过年。

  最后去取像的地方拍签证照,貌似每个国家的签证照要求都不一样,美国要的是正方形的,也是白色背景。好,流水帐结束:D

开始啦

2007-12-19 22:01 | by 2ndboy

  大概一个多月前突然被 US leader 问起有没有兴趣 H3,到昨天终于接到公司通知正式开始走流程,看来过年回不了家啦。打算从今天开始一直到回来都用这个分类来记录一下整个过程:)

  上午跟同去的同事一起去复印了大学成绩单(要凭公司开具的介绍信到档案存放的人才市场找工作人员办理),看着成绩单不由得想起些往事:) 晚上跟 LP 一起找了家照相馆去拍护照照片,查了一下网上的介绍,貌似这个护照照片还挺有讲究的,要求用白色背景的半身证件照,幅面为 48mmx33mm,头部宽度为 21~24mm,头部长度为 28~33mm。心里想万一有人天生脸就比较长拍出来不符合要求难道还要 PS 一下不成?:D

  后天取照片,据说办护照自受理之日起要 15 个工作日,明天打算到翻译公司去搞定毕业证、学位证和成绩单的英文版,英文简历以前到也有,干脆顺道再译一次,看看自己跟专业翻译的差距在哪里:)

Lua 函数的缺省参数和可变参数列表

2007-12-8 21:29 | by 2ndboy

  Lua 里面的函数有个“奇怪的”特性——调用时参数个数可以传任意多个。比方说有个函数的定义是 function Foo( a, b ),那么你调用的时候可以写 Foo( “2ndboy”, “test” ),也可以写 Foo( 123 ),还可以写 Foo( 123, 987, “2ndboy” ),都不算错。如果实参个数少于形参个数,那么其余参数的值就是 nil;反之如果多于形参个数,那么多出来的值就被抛弃了。

  想到利用这个特性可以模拟一下缺省参数,Lua 是没有内建对缺省参数的支持的(比如 C++ 里面的 int Foo( int a, int b = 999 ))。如果发现某个参数为 nil,那么就给它赋一个缺省值:

  1. function Foo( a, b )
  2.      if nil == b then
  3.          b = 999
  4.      end
  5.      Bar( a, b )
  6.  end

不过这不是一个好的实现,因为函数的用户也许真的想传一个 nil 过来:)

  Lua 有内建对可变参数列表的支持,语法跟 C/C++ 一样,同样是三个英文句点:function Foo( a, … )。在函数内部,Lua 会且仅会把可变参数部分放在一个叫 arg 的表里面,你可以通过 arg.n 得到可变部分的参数的个数。对于我刚才举的这个例子,如果用 Foo( 666, 999 ) 来调用,则 arg.n == 1,用 arg[1] 可以取到 999 这个值。所以我想,用可变参数列表来模拟缺省参数也许是个更好的主意:

  1. function Foo( a, ... )
  2.      if 1 == arg.n then
  3.          Bar( a, arg[1] )
  4.      else
  5.          Bar( a, 999 )
  6.      end
  7.  end

—–

我现在在用的语法着色插件 CoolCode 还不支持 Lua,试了一下发现把 Lua 代码当作 Ruby 来渲染效果也不错,在官方还未支持之前,先这么用着。