• end 绝对是 ruby 优雅性的重要体现。就像当年我很喜欢的 Object Pascal. Ruby 也绝对是个魔鬼,一个如此优雅的语言,却这么灵活多变...

  • Chrome 是不是比光速还快? at 2012年03月04日

    @kgen, @fsword , 我说的可能太笼统了,你们没有理解。

    有些软件,每个账户的 HOME 下面,都有一套相同的软件,或者说,都是使用同一 个安装包安装的。其中部分软件是通过 tar 方式编译安装的。这样的话,你使用 root 编译安装在/root/bin 下,在/home/zw963/bin 下无法正常运行。所以我干脆 直接编译安装到/tmp/某个文件夹下。再做个符号链接到{HOME}\bin 下就行了。

    你如果使用默认安装,直接装到/usr/local/bin 或/opt/下面当然没有这个烦恼, 但是如果你在使用别人的 linux, 而且你不具备 root 权限,无法安装。这个办法 就是一个很好的解决方案。

    这就像 RVM, 你如果使用 root 权限,就安装到了/local/usr/rvm 下面。如果是普 通 user, 则安装到{HOME}/.rvm. 其实不管是不是 root, 后者显然更方便。

  • @reyesyang , 谢谢啦,虽然 iask 上的资源失效,不过好歹,从哪里知道网上还有流传出 p3.0 的。

    在国外的一个网站下载下来了。好累。

    我主要是想单独打印这本书的最后一部分,方便随时查阅。

  • Chrome 是不是比光速还快? at 2012年03月04日

    @rei, 我使用所有的账户登陆,都可以使用自己的软件喽,而且不需要超级用户 权限。只要复制过来就行了,包括 Emacs, Fcitx, Chrome, BC3, Dropbox, RVM 等等。

    编译时,我甚至利用了/tmp 对所有用户可写的特性。达到一致性。

  • 为什么不喜欢 end 呢?

    我曾经倒是想过,用 lisp 的风格来写 Ruby 中的代码块,不过和 Lisp 括号比起来, 阅读效果差好多了。

    下面是代码示例,你们看看不用 end 晕不晕。

    File.open("1.txt") {|f|
      f.each_line {|line|
        line.each_char {|char|
          print char.upcase}}}
    

    最主要是没有 lisp 括号那种对称美.Matz 是 lisp 的绝顶高手,他绝对想过这种方式。

  • 闲扯两句 linux 和 MAC OS X at 2012年03月04日

    不用挣啦。呵呵,我这个帖子应该是在社区有史以来最水的一个话题了。

    我现在一直在用的是最古老的 linux 版本 Slackware, 有机会一定要试试 Mac

    冲着 Matz 使用 Debian 以及 Emacs, 暂时先这样了。

  • @allenwei , 我问一下,你的那个 DSL 示例,写成下面这样,是否会存在问题?

    class A
      def self.help(&block)
        self.instance_exec &block
      end
    
      def self.method1
        puts "method1"
      end
    
      def self.method2
        puts "method2"
      end
    
    end
    
    A.help do
      method1
      method2
    end
    

    我总觉得先创建了 A 的实例对象,再调用实例方法,是否有些多余?

  • 我来总结下: #5 楼的用途,和我总结的传入一个策略,基本上相似。

    #3 楼 #6 楼, 跟 attr_accessor 的用法差不多。虽然不完全相同。 前者上下文空间通过类方法被定义,后者在 Module 类中被定义而已, @allenwei , 的这种定义方式的确在 Ruby 极多,rake, rails 都大量用到. 他们非常相似的地方是:它们都使用 block 创建了一个包含上下文空间的块. (在块中更改了 self 值,就像类定义一样,可以使用一些特殊的方法)

    #8 楼, @skandhas, 你说的延后调用,是不是和 RSpec 中的下面代码类似。

    ...
    lambda { do something }.run    # 这个run是在那里定义的? 为什么不用call
    ...
    

    我感觉就像 bash 里面的$(...) 一样。

  • @longerian , 全部都理解了啊。我看书够慢的了。一个单词都不放过

    你看过这本书吗?全是图画,没多少内容。就是结构好,内容精辟。

  • @ywencn ,楼上你太棒了。Thanks

  • 汗~~ 没有回应。

  • @skandhas , 真谦虚 ...

    以后有问题,多多向你请教。

  • @hhuai ,N 年前看过谭浩强的 C 教程,使用 C++, 看过清华引进的那一本数据结构, 然后此后 N(N>10) 年,再没看过跟 C, C++ 有关的书。

    现在手头有几本大家推荐的 C 基础教程。另外,传说中的 APUE, 我一下买了两本, 一中一英,有时间一定要看。不过目前来看,优先级在 Ruby 和 Lisp 之后。

  • @skandhas , 我很好奇,一直想问,像你这样,我心目中的牛人,要打印什么书 (或正在看什么书)? 可以分享一下吗??

  • @willmouse ,你说的没错,但是怎么说呢?如果我早几天看了这本书,学习 rails 会节省大量的时间。换个说法,直接上手就看 AWD, 你看两星期,应该 没有先花一星期看这本 head first, 然后第二个星期再看 AWD, 效果好。

    个人亲身体会。也许牛人比较牛,直接 AWD, 而且倒着看,那就是例外了。

  • @ywencn, 我从来没想过这样写,只不过 BT 的 rails 教会我这样写。

    还有,Ruby1.92 下面没有任何警告信息。

    params [...] [...]
    
  • 闲扯两句 linux 和 MAC OS X at 2012年03月03日

    @huacnlee, 前几天翻了翻乔布斯传,蛮有感触的。

    咱社区的那个第一个招聘贴,佛山那个,说的 《黑客与画家》、《Getting Real》、《rework》我在乔布斯身上都能看到影子。

    尤其是一点: 讨论目前所有的工作,按照优先级排序,然后果断的砍掉一半,说白了就是专注。

    我想这也许就是那个 96 年濒临倒闭的 Apple, 能够东山再起的一个很重要原因。

  • @hisea, 哇,在这里连游戏都可以找到志同道合的战友。哈哈

    除了国产的剑网 3(只玩了很短时间), 我玩过唯一的网游,就算是 DiabloII 了。

    偶可是从 DiabloI 开始玩起的。我想因为年龄因素,接触过一代的肯定不多。

    那会儿在上大学,我一个师兄,牛人,自制的串口线,联网两个计算机,通宵 大菠萝一代,难忘的记忆。

  • @kgen, 无语了。

  • @clc3123, 是啊。太 TMD 神奇了,之前一直对 rails 提不起兴趣,看了这书,一下 子仿佛挺喜欢了。

  • @xguox , 给你回复啦,俺在广州,不过我是北方人。

    给你发我的地址了。离得近,面交也可以啊。我希望找到志同道合的朋友。

    我感觉,在广州,这方面人才实在是太少了。

  • @xds2000, 重要的在于收集的过程。至于用处,图片文件的标题已经写很清楚了。

  • @skandhas, 说的心里怪痒痒的。希望将来工作的地方有 iMac, 玩熟了,自己也 搞个。

  • 希望坛子里那些深藏不漏的前辈,多提意见,多多指教。

    有什么不对,一定要指出来。

  • 事实上,没少上专卖店看苹果的本本。

    不过每次都是琢磨半天,不得要领,像个傻子一样站在那里发呆。

  • @skandhas, 那个产品外形太酷了,进入 Mac 门槛还真高。(不仅仅是使用,还有$)

    我基本上没用过触摸板,我的本子上,触摸板都是关闭点击,只保留光标移动. 主要是怕有时候碰到乱点。其实移动也从来不用,只不过关了滚动条没办法用了。

    我台式机用的是 IBM 的那个小红帽键盘。不过不是无线的,汗...

  • @skandhas, 不客气,呵呵。

  • @DavidWei ,@skandhas ,@kewin

    算啦。我直接公布啦。站长别把我当托就行。

    http://booklovers.taobao.com

    拿我社区信誉保证:纸张,书皮,装订一流。

    如果自己有 PDF, 找他们打印,会稍稍便宜点。

  • @hhuai, 咱俩很相似啊。你是学 Ruby 的时候被逼着看英文。我是去年学 Emacs 时, 被逼着看手册。毕竟 Ruby 还是有不少中文资源,Emacs 那就清一色的英文了。

    词汇量不够,可能是看英文书籍刚开始最大的问题。

    我倒是有一个不错的实践,给你分享下。

    1. 一定看纸质书,才有感觉。说不上来为什么。我觉得主要还是来回翻看方便吧. 另外看着书未读的部分越来越薄,有动力。

    2. 早些时候,看书的时候,我都是坐在电脑面前的。书就放在电脑的下面,电脑 用 Chrome 打开了谷歌翻译,同时安装了 dict.cn 的 Chrome 插件 (选择文本,自动翻译) 遇到不会的单词,立马输入单词翻译。(事实上,输入单词的时候,我几乎都不抬头), 谷歌和 dict.cn 总有一个结果适合我 (前者主要用于翻译一些俚语), 翻译多了,不懂就 越来越少了。后来基本上就不太翻译了。不过成习惯了,看书时,还是会坐在电脑边。

  • @andor_chen ,已经发送邮件,請查收。