• #22 楼 @hisea

    嗨,结果出来了没有?通过了吗?

  • 谢谢分享。还好了。第四个标题有误导的嫌疑。光看标题,还以为永远不用 While...

  • #2 楼 @sectic

    给力!早就觉得有些不同,但是一直没发觉在那里.!!

  • 的确,貌似很久没进入前十了。

  • 在对一个集合迭代操作时,删除集合内元素,这肯定会出错的。

    #1 楼 @hooopo

    二楼是正解

  • File.open 等若干 File 的操作 at 2012年06月16日

    #5 楼 @fsword

    正解...

  • 楼主的意思我大概明白了。

    首先你要明白:alias 创建别名,其实创建的是引用。无论是任何类型对象,其表现都是一致的。

    你的代码的问题不是出在 alias, 而是出在方法的定义以及全局变量定义.

    def ask # => 这是定义了一个新的方法.(即 ask 指向了一个新的地址) p 22222
    end

    $b = 2 # => 因为之前已经存在全局变量$b, 这里直接修改$b指向的那个地址的值。

    以上回答全都是凭经验猜测,看到楼上 @wx1452 @skandhas 指出的那一堆 C 源码,我就崩溃,直接无视了.(因为我看也看不懂), 不知道我理解的对不对?

  • #5 楼 @jjym

    打开 Ruby 的 Class 核心类,并且覆写了 Class 类内的那个 new 方法,这个 new 方法在创建一个类对象时,会被自动调用. 而打开核心类这个操作,虽然没有创建一个新的 Class 类,不过也应该会调用 new 方法来应用最新的更改。形成了一个递归调用? @fsword , 大概是这意思吧?不过,我是没明白输出的那一大堆东西是什么玩意儿。我在 irb 下,我直接 C-c 就可以终止.(Emacs irb)

  • #39 楼 @stupidhuman

    既然被这位愤青的仁兄严重 B4 了一下,更关键的是,这位仁兄说的的确句句在理。

    我只能说:中华人民共和国的未来全靠你了。XD~!

  • #17 楼 @fsword

    是啊,还是没有跳出盒子啊!(Out of Box).

    不过,对于熟悉命名参数的人,我那种用法更好懂一些。

    p fact(10, :method => :+) p fact(10, :method => :*)

  • 我见过`他'的照片,挺秀气...

    不过对于变性... 我只有瞻仰的份儿,怕怕呀。

  • ruby tuesday 五角场意向调查 at 2012年06月07日

    #5 楼 @jerryshen +1, 其实,我也是这么觉的...

    我倒是知道,Ruby Tuesday 的初衷,问题是,真正把技术分享当作乐趣的,参加 Ruby Sundy 就是最大的 Happy, 而且时间也充裕一些,没必要赶场子或者因为其他事儿错过。不把技术分享当作乐趣的,无论周几,都没有时间去。

    建议看一个专贴大家一起讨论下。

  • Git 还可以更好! at 2012年06月07日

    我可不可以换个角度回答楼主的问题:

    既然在 Windows 下,为什么非要用 Git ?

  • 貌似移到`瞎扯蛋'版块,比较好?

  • 标准水贴...

    鉴定完毕!

  • #6 楼 @zhangyuan

    楼上有错别字~ Terminal.

    相比较 IDE, 使用编辑器就这点好处,自由灵活,想怎么设就怎么设,对于多方资源的整合,可以达到最大的自由度。建议楼主有空换到 Emacs 吧,从来不会为这种问题烦恼,你能想得到的任何问题,都有一对解决方案。实在不行,自己还可以自己修改解决。

  • 支持。这真是好事情。收藏了~

  • 支持下喽~~ 可惜 XD 曲高和寡~

    老实话讲,我还真没有在 Windows 下,编译过程序 (使用单独的 IDE 除外,例如 borland c++,delphi).

    在 Linux 下,也绝对是逼出来的... 不过现在觉得编译蛮好玩的。

  • 此贴,俨然 Ruby-china 成立以来,最火贴。

    一天时间 90 楼,My God!

  • 准确的说,要看懂那本书,得相当了解 html 以及数据库,并且知道基本的 Ruby. 楼主现在的条件满足吗?

  • #39 楼 @Levan

    我就不明白,怕没人回答,就不敢发问?

    我还不是想问就问。而且,最终,我问的问题,貌似在社区都帮我解决了。来这里的这几个月,对我的帮助真的是很大的,

    问问题不是成长的唯一方式,需要提及的是,对我帮助最大的,其实不是我问的问题,而是我帮别人回答问题,有时候为了回答某个问题,又把笔记翻出来查上半天,给别人解释清楚了,自己才算真明白了。

  • 求一个 git commit 懒人工具 at 2012年06月04日

    alias gc='git commit -m "$@"' alias gca='git commit --amend'

    好记,gc, 我每次一想到垃圾收集,我就知道该 commit 了。

    P.S. 本人强烈依赖别名,不搞一个自己习惯的使用方式,用着就不爽。

  • 关于 rails 路由 at 2012年06月04日

    这问题...

  • #5 楼 @kevinhua

    在国内社区,经验或知识类社区很难做出来,一方面是“新手”们的问题,另一方面,“高手”们也有许多问题。论坛内放眼看去,答非所问太多。

    楼主标题虽然有些激进,不过我赞成楼主以上观点!

    说句老实话,咱社区的高手,回答问题真的很少。

    除了姿态比较高的缘故之外,我觉得也有中国人的传统习惯的原因。说实话,我觉得我自己也有些小资情怀,例如:希望将来孩子长大后出国,而且不要回来,对当前社会很多问题保持沉默,而不是去贡献自己的一分热。有时候最可悲的是:这些人 (当然不是指自己), 往往都是社会精英阶层。

    当然,我承认,碰到感兴趣的问题,咱社区很多高手也是很热心回答的,所以就像 huacnlee 说的,提问还是要讲究方法。

  • . at 2012年06月04日

    #23 楼 @happypeter

    来点闲扯的...

    XD 的头像让我想起 `新闻 wan 知道' 里面的那个相声演员...

  • . at 2012年06月04日

    我说呢,怎么会有一个莫名其妙的没标题的帖子.... 我竟然还回复过...

    其实没啥吵吵的,其实咱社区已经很好啦!只不过还有待完善嘛。

    不过我觉得以下问题值得注意:

    • 提问的确太随意了,建议添加一些格式约束。其实不单单格式,有时候问题的标题都词不答意 (本人就发过这样的帖子... 反省中...)
    • 另外就是楼上说的,可以先自己尝试解决下,解决不了再提问呀。
  • #10 楼 @night_song

    看明白了...

    原来 unpack 在这种情况下,真的很强大啊!原来看 pack, unpack 一大堆数据类型,不知道到底要干什么,现在明白了。

    #13 楼 @night_song

    虽然说忽略... 不过后面的代码也是用活,用好 Ruby API 的典范啊!!

    太赞了!!

  • 呵呵。共勉吧。比起社区很多人,我绝对是新新人类~ 哈哈

    刚才回答你问题后,回来后,我又想到为什么不妨看看 Ruby 底层的操作码。

    下面是操作码输出的一部分,前一块是父类 A 内混入模块 MyModule 的定义,后一块是子类 B 内混入同一模块的定义。

    == disasm: <RubyVM::InstructionSequence:<class:A>@<compiled>>===========
    0000 trace            2                                               (   1)
    0002 trace            1
    0004 putnil           
    0005 getinlinecache   12, <ic:0>
    0008 getconstant      :MyModule
    0010 setinlinecache   <ic:0>
    0012 send             :include, 1, nil, 8, <ic:1>
    0018 trace            4
    0020 leave            
    == disasm: <RubyVM::InstructionSequence:<class:B>@<compiled>>===========
    0000 trace            2                                               (   1)
    0002 trace            1
    0004 putnil           
    0005 getinlinecache   12, <ic:0>
    0008 getconstant      :MyModule
    0010 setinlinecache   <ic:0>
    0012 send             :include, 1, nil, 8, <ic:1>
    0018 trace            4
    0020 leave            
    

    虽然我并不完全明白这些乱七八糟的伪码。不过可以很清楚的看出来,两次调用的参数是完全一样的。

    send :include,1,nil,8,<ic:1>
    

    这至少说明一点:这两次混入操作,都仅仅是方法调用而已,而且操作的是同样的位置的同样的对象。

  • #1 楼 @kevin__liu

    首先,对于对楼主的探索精神,深表佩服!! 我其实也喜欢没事儿研究这个。

    我记得是双飞燕上面写的很清楚,所有被混入的类,会被加入一个数组,再次混入,将被忽略。

    以你的示例来说,在 MySubClass 内混入 M 的那个语句,完全被忽略的。

  • 这有什么奇怪的。

    Module 类也是类。Module 无法实例化,谁规定 Module 类无法实例化?