• 怎么没有人回复呢?终于对 Mruby 有了一些认识。

  • 老赵同学的一道编程题 at 2012年11月11日

    #17 楼 @luikore

    之前有段时间我并不知道 $1, $2... 这种用法,后来在 Emacs 中,有一个 replace-regexp-in-string 函数,可以实现将一个字符串的匹配部分替换为另一个子串,觉得很有用,然后查询 ruby API, 才发现这个用法的。果然 Ruby 还是比 Lisp 强大多了。

  • Ruby 的未来 at 2012年11月11日

    楼主原创吗?我怎么记得那个网站,看到过这个文章。我一直以为这是一篇老文。

  • start_with 不是这么用的? at 2012年11月11日

    所以.... 自从用 linux , 我之用英文标点。没有这个烦恼,不过,我逗号后面会自动加一个空格。

  • ALT 我,但是没收到 Message.

    刚打算提醒下,发现已经发了。Good!

  • 原来楼主这种整天写英文的人也会把 Tuesday 写错啊。

    说实话,我参加 Ruby tuesday 也总是写错。

  • Ruby 2.0 新功能演示 at 2012年11月03日

    我记得在那里看的 (不知道记得是否准确), 线程再可以利用多核,也不是一个好的技术,它只会让你越来越痛苦。

    终极解决办法还是进程,最好是单独的虚拟机中的单独进程,然后组成庞大的计算机群,这才是硬道理。

  • Ruby 2.0 新功能演示 at 2012年11月03日

    总有人不断的提起 Ruby 的线程不是原生线程的问题。

    GIL 的存在,只是限制了你不可以利用计算机的多核进行并行计算,但是并不是意味着你不可以并发。事实上 Web 开发中大量使用并发,诸如 EvertMachine 之类的玩意儿利用的那个叫做 Reactor 模式的玩意儿。它其实是在多个线程之上运行纤程 (Ruby 1.9) 实现的。虽然无法像 elang 那样,真正利用多处理器的优势,不过在 Web 开发领域,足够了

  • Slackware 14.0 is released! at 2012年11月02日

    #4 楼 @5long 可能是超过 5 个人就这样吧。

    #5 楼 @DoIT 最开始学的时候,想过从 geetoo 开始,不过觉得太折腾,果断放弃了。

    #6 楼 @Teddy 主页除了部分内容,很少变化,毕竟 大神 (Linux 社区对 Slackware 作者的昵称) 的特长不是干这个。

  • Slackware 14.0 is released! at 2012年11月02日

    #2 楼 @bhuztez

    呵呵,什么算折腾呀。Slackware 一个 Geek 为 Geek 制作的发布版。该有的都有呀。装好后,啥都有了,而且配合的相当好,反倒是咱社区好多人折腾的东西 (例如大量 GUI 方面的), Slackware 没有,反倒也不折腾了。就算折腾,它也是专注于让你折腾那些该折腾的事儿。

    真正的折腾是诸如 LFS, Geetoo 之类的,除了它们,其他发布版应该都不折腾,这是侧重点不一样,我认识一个小伙子,在 Linux 下做 Rails 开发,号称两年经验 (Ubuntu), 竟然不会解压缩一个 tar. 如果这么基本的东西,也算是折腾的话,那直接用 Apple 或者 Windows 好了。

  • Slackware 14.0 is released! at 2012年11月02日
  • #11 楼 @xjz19901211

    这个想法也不错呀。

    不过不太好匹配呀。容易出错,毕竟不仅仅是一个变量,有时候会混杂在实现代码当中。而且,有时候用 p 的写法也不一致,同时 p 多个参数也是问题。

  • 已经通过字符串的方式实现了,非常 Cool.

    在文件内,我如果想 debug 任意一段代码,我只要用选区选择这段代码,然后按下快捷键,会补全我写的那个方法,然后执行,可以漂亮的输出需要 debug 的变量。

    美中不足的是:方法需要额外提供一个 binding 参数,挺累赘...

  • #7 楼 @cxh116

    好像不是一回事儿,你给的那个是可以分析一个方法或 Proc 的定义,而不是传入的参数。呵呵。 #9 楼 @pongyo 应该实现不了,哈哈。

  • #7 楼 @cxh116

    Cool ! 这正是我想要的。

  • #5 楼 @davidqhr

    谢谢,看来也只能用这个办法了。正好验证了我的怀疑,我觉得不他可能,所以问一下. #2 楼 @jjym #3 楼 @fresh_fish 也谢谢两位回复。

  • #3 楼 @fresh_fish

    那就只能通过 meth "expression" 的方式来输入了吧。我希望通过 正常使用 p 的那种方式。

  • 一道编程题 at 2012年10月30日

    数组应该是一个有序的集合,我觉得最有 (现实) 意义的实现应该是连续的元素才好。这又增加了实现难度。不妨把标题改一改继续呀。

  • 一道编程题 at 2012年10月30日

    我的生成的结果稍微整齐一点。虽然号称是最丑陋版。

    def split_group(array, n)
      size = array.size
      div, mod = size.divmod(n)
      new_array = array.each_slice(div).to_a
      return new_array if mod == 0
      x, y = new_array.take(n), new_array.drop(n).flatten
      enum_x = x.cycle
      enum_y = y.to_enum
      loop { enum_x.next << enum_y.next }
      x
    end
    

    #6 楼 @fsword

    何必太在意多出来一个或两个本地变量呢?你只要保证方法很小 (不超过 7 行), 并且只在方法内部使用本地变量就没问题呀。倒是问题在于:本地变量的命名,除了 x,y, 我实在是找不出好的名字,经常因为这个事情恼火。

    说实话,我很佩服你动不动就一大长串,我反正是写不出来你那么长一串串的实现,头晕的要死。

  • #16 楼 @nuclearkitten

    哇,你说中文了...

    是呀。我儿子,很听话的一个孩子。

  • #12 楼 @bhuztez

    反正就是元编程的基石啦。没这玩意儿,哪里来的 Rails.

  • #10 楼 @nuclearkitten
    ZBing is what ? 呵呵。

    #11 楼 @neverlandxy_naix

    是的,写着写着就复杂了,主要是想解释的更清楚一点。
    之前的内容是吃午饭前写的,最后那个例子是吃完午饭后才加的。

    另外你说的也不对,类,类常量,类变量 都是引用对象, 他们也属于类对象。被引用的地方才是我说的那片 内存区域. 也许是你笔误,也许是你没有完全明白 Ruby 中的一切对象都是引用 ??

  • #7 楼 @nuclearkitten

    如果你没有这些 继承, 混入, 扩展 的知识,何来元编程?你最多只能照葫芦画瓢的学别人用 instance_eval, define_method, send 以及那么一大堆 HOOK, 而且以我的经验来说,你会越看越糊涂。越用越不清楚...

    btw: why do you speak english? are you a foreigner ?

  • #40 楼 @JeskTop

    你不明白什么是 HOOK 吧? before_hook 是 执行之前被调用,只有这个 hook 返回为 true, 才会继续,否则就不继续。这和你之后是否 save 成功没有关系. after_hook 的回滚自动的。不用你管,你只管抛出异常就行了。

    哈~ 难得!我都快四个月没碰 Rails 了,竟然还记得...

  • 好吧,我承认我猪头了,我首先注意到底下一串数字,然后我就开始分析,借助于 Ruby 移除到数字后,又变成小写,然后 puts 输出,终于发现了三句话... 不过不知所云,然后继续研究那个图,无果。再然后,没注意点了下...

  • #1 楼 @neverlandxy_naix

    你理解的很对,这里的继承指的非那个继承. 事实上你所谓的那个 125 页 那个继承,不是让你直接用的。或者说你根本不用太关注的。他只是 Ruby 内部的一个约定,为了实现 类方法的继承。

  • 工作台展示 at 2012年10月29日

    #33 楼 @fsword

    哦。我忘了你是淘宝的。哈哈

  • 工作台展示 at 2012年10月29日

    太酷了~~ 好不容易,看到 @fsword, 在用咱们国产的 Thinkpad 呀。嗯,还有熟悉的 XP, 好久好久没碰过了,怀念中...

  • #2 楼 @williamherry

    元编程书我没看过,不过元编程即使涉及类,也应该是主要谈及 继承,混入,扩展的一些知识。不会涉及类的实现。而我讲的是类的实现。