• #2 楼 @reus #3 楼 @willmouse

    小小鄙视一下楼上两位大神,用 Emacs 已经够有自虐倾向了,还不用 GUI ...

  • 顺便问 @huacnlee, 一个帖子发送消息最大限制是多大?

  • 我都忘记还有这个功能了。

    这么好用的功能,总是想不起来。靠!

  • 请问大家用什么看 API? at 2012年09月09日

    #8 楼 @liuhui998

    @hbin @zw369 我在想 Yari 为什么不支持 rails
    

    无意中看到这个帖子,zw369 是说我么?貌似没有这个 id 呀。哈哈。

    @hbin , api.rubyonrails.org 肯定有的,我怎么记得我就是上面看到的。多搜索几次。

    Yari 我只是用来查看 Ruby 的 API 文档 以及 安装的 Gem API 文档,我安装的时候都会跳过 Rdoc, 仅仅安装 Ri, 速度会快很多。Yari 找不到,我才会上 Web 查。

  • Rails 在我看来有两部分:

    1. 概念性的东西,这部分东西来自于 Web 开发,太多,太杂!! 2 理解性的东西,这部分对 SQL, MVC 架构,RESTful 原理,以及 Ruby 的理解。

    2 是根本,只要 2 足够熟悉,1 可以直接在工作中进行实践。毫无压力。但是 1, 真不是个短期活儿... 因为概念实在是太多了...

    楼主觉得压力大,那是因为 2 你根本不熟,相信我,我曾经也有你这个阶段.... 等你 2 熟了,再看 simple_form, 其实就是对 form 自身的 wrapper, 让你写起来更简单而已。拨开那层裹糖纸, 万变不离其宗,最终还是 HTML 里面的 form.

  • 一个很容易中招的地方 at 2012年09月09日

    #43 楼 @shouya

    嗨~ 我又看了下咱俩的回帖,其实是我没明白你的意思。惭愧呀~

    其实你一直在说一个方面,而我以为你一直在说另一个方面。哈哈。

    我刚刚想了想,确实蛮有趣的。

    foo[name] = value if 'name = value' =~ /(?<name>.*)\s*=\s*(?<value>.*)/
    

    这个之所以无法实现,其实因为:在使用一个本地变量之前,这个本地变量必须首先被定义。而本地变量的定义是在源码解析的过程中完成的。这就和下面的代码效果类似:

    if false
      x = 0
    end
    p x    # => x = nil
    

    在语法解析阶段,在使用本地变量 x 之前,解释器看到了 x = 0 这个赋值语句,首先初始化 x这个变量为 nil ,虽然稍后没有具体执行 x = 0 对 x 进行赋值,但是这个 x 已经被初始化了。

    上面那个正则匹配的示例,有点类似于下面这个示例:

    p x if x = 0   # = > undefined local variable or method `x' for main:Object
    

    之所以出错,是因为在源码解析阶段,运行 p x 的时候,这个 x 是不存在的。只有在运行 x = 0 之后,x 才是存在的。所以这个语句在执行阶段,看起来应该是这样的:p x if 0

    而后面的有关$1,$2的那个示例,则不一样:

    foo[$1] = $2 if 'name = value' =~ /(.*)\s*=\s*(.*)/
    

    诸如 $1, $2 这些变量,在解释器一开始的时候,就已经被定义并初始化为 ni l . 然后在源码解析时,括号内的结果直接被赋值给之前定义的 $1, $2, 所以在执行时,$1, $2 就是可用的。

    以上结论都是猜的,因为不懂 C, 也没办法验证,不妨请出 @skandhas , 能否单独开贴,或者在这里,给大概解释下,Ruby 解释器在解释一个 .rb 文件时,大概过程分为几个大的步骤。

    BTW: @skandhas, 我发现可能我邮箱有些问题,给好些个人发邮件都没回复,我前阵子给你推荐了个 Emacs 插件,发到你 163 邮箱了,你是不是没收到?

  • FactoryGirl 粗浅介绍 at 2012年09月09日

    我最喜欢楼主的文章啦。

    之前居然没有注意到,惭愧呀!!

  • #1 楼 @fenprace

    我说名字不重要了,反正能执行就可以。这不换成其他名字了?

  • #28 楼 @hbin

    我很认同你的观点,虽然我知识粗粗的看过。

    很明显 @ranmocy 的配置 更加 Emacser, 也好懂得多,风格和我类似。只不过我没他那么条理,也没有重构,乱七八糟,除了我自己,别人估计很难理顺。

    @doitian 的 配置 就太 Cool 了,不细看,根本就看不出来这是在写配置脚本,到像是在写 Lisp 代码。或者说在写自己的插件嘛,代码非常简练。

  • ruby 向上键怎么表示 at 2012年09月07日

    #2 楼 @Saito #3 楼 @doitian #4 楼 @ywencn

    如果真是这个意思,那这个问题跟 Ruby 又有什么关系?只不过一个 UNICODE 码而已。难道不同语言可以不一样么?

    你如果指的是↑, 那么码点是:x2191

  • ruby 向上键怎么表示 at 2012年09月07日

    你貌似很久没发帖了哦。最近忙?

    问问题劳烦说清楚,我敢肯定,10 个人看你这个问题,100 个人看不明白要问啥。

    p.s. 多出的那 90 个,连问题都不看,因为标题就不知所云。

  • #14 楼 @willmouse

    在这个网站还意外的见到我的偶像大神的视频,话说,都五十多岁的人了,该减减肥了... 那个肚子比马上要生孩子的还大。

    http://emacsrocks.com/e09.html

  • #14 楼 @willmouse 谢谢,那个插件很好玩,使用宏,可以自己实现类似的功能。我考虑考虑怎么把它用上去。

    BTW: 最给力的是那个作者,肯定不是美国人,讲的英文太易懂了,连我这个纯粹听力盲,都能听懂一部分。

    有关没有 Message, 你的名称是我后编辑加上去的。跟这个有关系吧 ?

  • #36 楼 @bhuztez #17 楼 @quakewang

    靠~~ 刚刚问了问度娘, 终于知道什么叫做果黑, 什么叫做高级黑.

    嗯,那我绝对算一个果黑, 我配电脑从来都是追求完美的。经常搞的很多功能外设,直到电脑报废都怎么用过,下次配的时候,还是要这样配。跟性能有关的硬件就不用说了,别的不说,DDR2 时代的 笔记本,内存 8GB 的不多吧??

  • #10 楼 @huacnlee

    不是... 实在是果粉 和 M$ 的队伍太强大了。强大到根本没有统计的必要。

    剩下的就这么点 非主流 , 所以 ...

  • 
    #!/bin/sh
    
    # 完全正则表达式匹配, 显示指定gem的所有版本.
    gem query -r -a -n "^$@$" |egrep -B10 -i --color=auto "$@"
    
    

    把这个存成一个 bash 脚本。例如:gemv, 然后 gemv rails 即可。

    gemv rails 输出结果:

    
    rails (3.2.8, 3.2.7, 3.2.6, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1, 3.2.0, 3.1.8, 3.1.7, 3.1.6, 3.1.5, 3.1.4, 3.1.3, 3.1.2, 3.1.1, 3.1.0, 3.0.17, 3.0.16, 3.0.15, 3.0.14, 3.0.13, 3.0.12, 3.0.11, 3.0.10, 3.0.9, 3.0.8, 3.0.7, 3.0.6, 3.0.5, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.3.14, 2.3.12, 2.3.11, 2.3.10, 2.3.9, 2.3.8, 2.3.7, 2.3.6, 2.3.5, 2.3.4, 2.3.3, 2.3.2, 2.2.3, 2.2.2, 2.1.2, 2.1.1, 2.1.0, 2.0.5, 2.0.4, 2.0.2, 2.0.1, 2.0.0, 1.2.6, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.1.6, 1.1.5, 1.1.4, 1.1.3, 1.1.2, 1.1.1, 1.1.0, 1.0.0, 0.14.4, 0.14.3, 0.14.2, 0.14.1, 0.13.1, 0.13.0, 0.12.1, 0.12.0, 0.11.1, 0.11.0, 0.10.1, 0.10.0, 0.9.5, 0.9.4.1, 0.9.4, 0.9.3, 0.9.2, 0.9.1, 0.9.0, 0.8.5, 0.8.0)
    
  • #7 楼 @yedingding

    我刚开始好长时间就是在 Windows 下用呀,那个时候对于 Linux 存在一种非常恐惧的心理,不敢换到 Linux 下面去,不过自从看过鸟哥之后,就不惧了,然后再没有回到过 Windows.

    p.s. 大约一周之前,我有发你一封邮件,你有收到吗?也没个回复...

  • 好活动~~

  • #1 楼 @diudiutang

    哈。我记性你肯定不知道多差。

    Emacser 我之前在其他帖子里存着呢,只不过新开了贴。至于 Linux, 不是讨论比较热烈.....

  • 忘了问了,@hooopo @Rei 你们俩用啥系统?貌似 Linux ?

  • #25 楼 @quakewang

    我本子没有中键,所以没办法,我如果要复制,只能通过快捷键,我设定的是 C-w(和 Emacs 一样), 我想一般的 Terminal 都应该有类似的设定吧。话说:自从设定了这个键之后,右键还真是几乎不用...

    你说小红点是反人类设计,那我不知道你用了有多久?? 如果少于三年,那我应该比你更有资格 下面给出两条理由:

    • 除了右手的 食指(用来移动小红点), 以及右手的大拇指 (使用触摸板向下翻页), 其他手指完全不离开键盘,很明显指点杆更加适合程序猿.

    • Thinkpad 有带小红点的键盘,非常好用,我自己有两个,任何一台具有 USB 接口的台式电脑 ( Linux 或 Windows 系统) 插上就可以用,因为没有 Mac 那么多华丽胡哨的多点触摸啥的,所以也不需要配套软件,完全可以具有和 Thinkpad 笔记本一样的触感和体验。

    另外,你说的触摸板指的是苹果的吗?我很感兴趣的是,苹果的触摸板在 Linux 下,那些多点触摸功能都有效么?能达到在 Mac 下使用触摸板的那个 Feeling 么?

  • #3 楼 @reus

    嗯。这话有道理呀。

    #10 楼 @Alexander

    谢谢指正,之前的确没有注意到重复调用的问题,原来我之前对于递归的误会还是蛮大的. 之前用过 Pascal.

    不过,性能上还是后者好一些. #13 楼 @quakewang 👍 牛呀~ 不过,说实话我看不懂。我想搞 Rails 还了解这玩意儿的程序员,少之又少了吧. 当年,数学也算是俺绝对强项,可惜荒废了呀。

  • 什么时候需要增加测试 at 2012年09月05日

    #22 楼 @knwang

    太赞了!!! 精辟!!!

  • #2 楼 @fredwu

    问下,你们团队,现在采用 Minitest 作为 TDD 测试引擎项目多吗?

  • 讲的非常仔细,蛮有深度,@camel 钻研问题的精神,值得大家学习呀。