怎么没有人回复呢?终于对 Mruby 有了一些认识。
楼主原创吗?我怎么记得那个网站,看到过这个文章。我一直以为这是一篇老文。
所以.... 自从用 linux , 我之用英文标点。没有这个烦恼,不过,我逗号后面会自动加一个空格。
ALT 我,但是没收到 Message.
刚打算提醒下,发现已经发了。Good!
原来楼主这种整天写英文的人也会把 Tuesday
写错啊。
说实话,我参加 Ruby tuesday 也总是写错。
我记得在那里看的 (不知道记得是否准确), 线程再可以利用多核,也不是一个好的技术,它只会让你越来越痛苦。
终极解决办法还是进程,最好是单独的虚拟机中的单独进程,然后组成庞大的计算机群,这才是硬道理。
总有人不断的提起 Ruby 的线程不是原生线程的问题。
GIL 的存在,只是限制了你不可以利用计算机的多核进行并行计算,但是并不是意味着你不可以并发。事实上 Web 开发中大量使用并发,诸如 EvertMachine 之类的玩意儿利用的那个叫做 Reactor 模式的玩意儿。它其实是在多个线程之上运行纤程 (Ruby 1.9) 实现的。虽然无法像 elang 那样,真正利用多处理器的优势,不过在 Web 开发领域,足够了
呵呵,什么算折腾呀。Slackware 一个 Geek 为 Geek 制作的发布版。该有的都有呀。装好后,啥都有了,而且配合的相当好,反倒是咱社区好多人折腾的东西 (例如大量 GUI 方面的), Slackware 没有,反倒也不折腾了。就算折腾,它也是专注于让你折腾那些该折腾的事儿。
真正的折腾是诸如 LFS, Geetoo 之类的,除了它们,其他发布版应该都不折腾,这是侧重点不一样,我认识一个小伙子,在 Linux 下做 Rails 开发,号称两年经验 (Ubuntu), 竟然不会解压缩一个 tar. 如果这么基本的东西,也算是折腾的话,那直接用 Apple 或者 Windows 好了。
这个想法也不错呀。
不过不太好匹配呀。容易出错,毕竟不仅仅是一个变量,有时候会混杂在实现代码当中。而且,有时候用 p 的写法也不一致,同时 p 多个参数也是问题。
已经通过字符串的方式实现了,非常 Cool.
在文件内,我如果想 debug 任意一段代码,我只要用选区选择这段代码,然后按下快捷键,会补全我写的那个方法,然后执行,可以漂亮的输出需要 debug 的变量。
美中不足的是:方法需要额外提供一个 binding 参数,挺累赘...
那就只能通过 meth "expression" 的方式来输入了吧。我希望通过 正常使用 p 的那种方式。
数组应该是一个有序的集合,我觉得最有 (现实) 意义的实现应该是连续的元素才好。这又增加了实现难度。不妨把标题改一改继续呀。
我的生成的结果稍微整齐一点。虽然号称是最丑陋版。
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
何必太在意多出来一个或两个本地变量呢?你只要保证方法很小 (不超过 7 行), 并且只在方法内部使用本地变量就没问题呀。倒是问题在于:本地变量的命名,除了 x,y, 我实在是找不出好的名字,经常因为这个事情恼火。
说实话,我很佩服你动不动就一大长串,我反正是写不出来你那么长一串串的实现,头晕的要死。
#10 楼 @nuclearkitten
ZBing is what ? 呵呵。
是的,写着写着就复杂了,主要是想解释的更清楚一点。
之前的内容是吃午饭前写的,最后那个例子是吃完午饭后才加的。
另外你说的也不对,类,类常量,类变量 都是引用对象
, 他们也属于类对象。被引用的地方才是我说的那片 内存区域
. 也许是你笔误,也许是你没有完全明白 Ruby 中的一切对象都是引用 ??
如果你没有这些 继承, 混入, 扩展
的知识,何来元编程?你最多只能照葫芦画瓢的学别人用 instance_eval, define_method, send 以及那么一大堆 HOOK, 而且以我的经验来说,你会越看越糊涂。越用越不清楚...
btw: why do you speak english? are you a foreigner ?
好吧,我承认我猪头了,我首先注意到底下一串数字,然后我就开始分析,借助于 Ruby 移除到数字后,又变成小写,然后 puts 输出,终于发现了三句话... 不过不知所云,然后继续研究那个图,无果。再然后,没注意点了下...
你理解的很对,这里的继承指的非那个继承. 事实上你所谓的那个 125 页 那个继承,不是让你直接用的。或者说你根本不用太关注的。他只是 Ruby 内部的一个约定,为了实现 类方法的继承。
太酷了~~ 好不容易,看到 @fsword, 在用咱们国产的 Thinkpad 呀。嗯,还有熟悉的 XP, 好久好久没碰过了,怀念中...
元编程书我没看过,不过元编程即使涉及类,也应该是主要谈及 继承,混入,扩展的一些知识。不会涉及类的实现。而我讲的是类的实现。