Modest opinions  
by a humble autodidact

2008年11月7日

摘要: Ruby的eval系列方法(Kernel#eval,Binding#eval,instance_eval,class_eval)支持两种方式,一是把代码片断作为字符串传递进去,二是传递block。我建议除非代码在运行时动态生成,否则尽量使用code block。因为我发现字符串中的代码对debugger是不可见的--在stack trace中不能准确显示,不能下断点,不能逐步运行,而eval的co... 阅读全文
posted @ 2008-11-07 11:06 yushih 阅读(1377) 评论(0) 推荐(0) 编辑

2008年10月26日

摘要: 先收集资料,然后总结发文。Ruby Matters: "Design Patterns" in Dynamic Languages 阅读全文
posted @ 2008-10-26 17:24 yushih 阅读(335) 评论(3) 推荐(0) 编辑

2008年10月22日

摘要: 干IT民工这一行的一定是人手一册PoEAA的。可惜这本书的影印版居然全国缺货,上了好多家网站都如此(OK,我知道金书网显示有货,但下单以后他们发不出来的)。这本书断货断得之彻底,是我的买书经历中从未遇到的:不仅大的购书/购物网没有,淘宝没有(很多卖家列出这本书,一问,没货,问了十来家都如此),电力出版社自己的购书网站没有,连我以前觉得什么地下刊物都能买到的kongfz也没有。电子商务的真谛一是让商... 阅读全文
posted @ 2008-10-22 10:45 yushih 阅读(219) 评论(3) 推荐(0) 编辑

2008年10月21日

摘要: 今天被一个超级trivial的格式问题搞到抓狂。程序中有这样一个match结构:match ... with| ... -> ...| ... -> ...这以后不论写一行什么编译器都抱怨格式错误。原来是#light格式的缩进规则所致,应该这样写:match ... with| ... -> ...| ... -> ...注意每个竖线前都要空一格。如果没有空格,编译器会认为... 阅读全文
posted @ 2008-10-21 17:23 yushih 阅读(239) 评论(1) 推荐(0) 编辑
 
摘要: Channel9上一个叫Charles的说得好:One of the truly great things about JAOO is that it is not a product-focused conference: it's about programming first and foremost and enables the sharing of perspectives and i... 阅读全文
posted @ 2008-10-21 11:25 yushih 阅读(707) 评论(0) 推荐(0) 编辑
 
摘要: Ruby没有C/C++/C#风格的enum。没有关系,上meta-programming,这是熟练Ruby程序员的第一反应,因为Ruby也没有struct,用meta-programming造出的struct一样好使。很好很强大的想法。但是如果我们想Keep It Simple呢?一个小小的parallel assignment功能就解决问题:module WeekDay Mon, Tue, We... 阅读全文
posted @ 2008-10-21 00:21 yushih 阅读(469) 评论(0) 推荐(0) 编辑

2008年10月18日

摘要: 重口味警告:本篇适合于追求代码直观到偏执狂地步,和宁愿绞尽脑汁减少几次击键的程序员,不喜勿入!在Ruby里我们可以写出这样的代码:hash.if_has_key k do |val|#do sth. with valend这段代码描述性太强了,以至不需要解释就能让人明白。而且对比普通写法:if hash.has_key k then val = hash[k]...end<p>省了不少... 阅读全文
posted @ 2008-10-18 23:14 yushih 阅读(356) 评论(0) 推荐(0) 编辑

2008年10月11日

摘要: 利用C++ template进行编译时计算是大家都知道的。这里介绍一种新的C++ template编译时计算。这种方法,据我有限的了解,是头一次在江湖上出现(如果大家知道已经有人实践过这种方法,请告诉我,不过不用到Boost里去找,我已经找过了,没有)。我不练习C++好多年,这个主意是神托梦给我的(当天白天我在搞.net,应该不是“日有所思,夜有所梦”),所以如果大家觉得这... 阅读全文
posted @ 2008-10-11 12:44 yushih 阅读(1796) 评论(11) 推荐(0) 编辑

2008年10月9日

摘要: The dignity of movement of the iceberg is due to only one-eighth of it being above water. -Ernest Hemmingway any framework ... will often only take you 90% of the way you need to go. After that you s... 阅读全文
posted @ 2008-10-09 11:20 yushih 阅读(231) 评论(0) 推荐(0) 编辑

2008年9月28日

摘要: 这个帖子里的修正都是在记录时还未出现在官方errata里的: 1.p210最下面的代码这样写就行了: Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->class Module def []=(sym,f) define_metho... 阅读全文
posted @ 2008-09-28 13:39 yushih 阅读(179) 评论(0) 推荐(0) 编辑