http://labs.codecademy.com/
不过是 1.8.7,不是 1.9
我并不是因为 Rails 而知道的 Ruby,而是因为在以前的工作中,有一次需要处理一批格式较复杂的文本文件 (windows 平台),当时我正打算用 C++ 写这个工具呢,同事推荐可以用 Ruby 试试~,然后就用了。果然比 C++ 的代码行少太多了 :>
学习了 lua 以后,把这个工具用 lua 重写了,发现虽然 lua 有性能的优势,但是在语言表达能力上,还是差 ruby 几条街。
#2 楼 @Alexander 语言的效率是指的性能吗? Erlang 的性能很好~
我觉得有可能式:
用 Kernel 的 spawn 或是 Process 类的 spawn 都可以创建新进程。
还有 system, exec,%x, 都可以。
实在是没有必要走 WinAPI 这条路,除非你有特殊要求。
@Tony 用 set_trace_func 看看哪里递归调用了,@hhuai 曾用这招查到过类似问题: http://ruby-china.org/topics/1470
这可不像是 irb 的 bug 喔。 :>
比如你写一个极简单的 Rack App:
app = Rack::Builder.app do
use Rack::CommonLogger
run lambda { |env| [200, {'Content-Type' => 'text/plain'}, ['OK']] }
end
Rack::Response 内部也使用了 lambda。等等,例子很多。 :> lambda 一个很重要的作用是可以把调用推迟。以前用 Ruby 写过一个 ARM 指令解释器,当时的实作是用 lambda 来对应指令。解释时,遇到指令就执行相应的 lambda。
@hony123456 何必刻意要求快速呢?:>
这个啊~ 是仁者智者的问题啦,比如我对 Python 的强制缩进比较的不喜欢。对 Ruby 的 end 感觉还可以啊。本来就是萝卜和青菜嘛,呵呵。就像 Emacs 和 Vi,Gnome 和 KDE,各自都有其眷属。只能代表各自的喜好而已 :>
@413472212 哥~,你真需要补一补基础了 :> 即然你喜欢 Ruby,那就系统的学一下呗。这么零散的打游击的学习,效果不怎么好喔。
至于文件操作,你可以看一下 File 类的相关文档。
赞同删掉。 比如,我要问一个 Ruby 相关的问题,到底是放到 Ruby 节点呢?还是问答节点?让人有点混淆。 放到 Ruby 节点,分类会更明了。
@zw963 我一直用 Magic Trackpad,用惯了会很方便。鼠标已经被我卸下电池,放到一边了。 http://store.apple.com/cn/product/MC380FE/A?fnode=MTY1NDA1Mg
感觉国外的 Ruby 社区一直在蓬勃发展,经常会出新的好东西。 国内的社区以前都是一盘散沙状~,零星的几个小社区。弄的 Ruby 爱好者都不知道去哪个社区,也没有归属感。 现在有了 ruby-china,情况有很大改善 (至少我是这么认为)。
@zw963 你的排版 正好是书名成了上一册的信息了。
@fredwu 在你的基础上修改了一下,你的 combination 这个用法很巧妙~
代码在这里:https://gist.github.com/1948550
class Sumify
def self.run(num, collection)
collection.size.times.map { |n| collection.combination(n).to_a }.flatten(1).select { |c| c.inject(:+) == num }
end
end
这样结果应该就正确了。