• 浅谈 Markdown 编译器 at 2018年11月19日

    楼主的 13 + x * 2 前后两个例子的语法树的图弄反了吗?我怎么感觉对不上。。。

  • 其实 macOS 新版本升级后出问题最多还是那个 oh-my-zsh 吧?所以它这个命名似乎也说明了一切(oh!my zsh)。所以这个东西虽然有很多亮点,我还是不装的。

    一直感觉 rvm 还好,不能因噎废食啊。 看重 rvm 的优点就是能帮你把系统缺少的库自动装上,管理 Ruby 多版本的同时,也能管理多个 gem set。不能说扔就扔。

    rbenv 尝试过几次,感觉不若 rvm,弃之久矣。至于 Docker 得看入坑深浅了。

  • 任何语言都可以用来写命令行工具;Ruby 当然也可以;编译型语言的命令行一般是可执行的二进制文件;Shell、Perl、Python、Ruby 等语言基本就是可执行的脚本文件了。

    Rails 的命令多是使用 Thor 这个 gem 实现的:https://github.com/erikhuda/thor。具体可以看它的 wiki。

    至于手动写一个带有可执行命令的 gem,可以见 https://guides.rubygems.org/make-your-own-gem/#adding-an-executable。 可以参考的例子非常多,比如这个:https://github.com/beijingrb/mdopen

    如果只是运行一个脚本,不管什么系统,关键是把脚本路径加到 PATH 环境里。对于 Windows 应该要让执行程序和脚本扩展名做好关联,否则就得用 ruby + 脚本名称 的方式来运行。

  • 试过几次这个 Ubuntu 的系统,在上面启动 rails 应该也比较慢。之前看网上说应该是涉及 IO 操作的时候会慢。

  • 即使 release 了二进制版本,你也需要手动下载放到可执行路径里,每次更新都要重复一遍。

    如果使用 go get -u 或者 gem install 安装以及更新就是一条命令的事儿。

  • 为啥说 Ruby 写会麻烦呢?觉得和 Go 的复杂程度差不多的啊。

    但是对于有 Ruby 环境的人安装和使用起来就方便多了。

  • Ruby 不要每日,能 weekly 就好啊~

  • Ruby 里为什么要有 unless? at 2018年03月27日

    Ruby 为啥要有 unless 呢?其实同样可以严肃的问为啥英语里有 unless 呢?

    但是关于如何使用 unless 是个很好的话题,这里有讨论: https://github.com/bbatsov/ruby-style-guide/issues/329。 该讨论同时延伸了 not!,以及 &&/||and/or 等的用法区别。

    比较认同这个说法

    if unless looks weird, try to use a simple if
    don't mix and/not/or with &&/!/||
    only use and/not/or for logical comparisons
    

    这里用了个 weird, 所以除了团队有代码风格约束外,更多的和你的舒适感有关。更具体的示例可以看这里

    另外,个人认为在不给具体代码示例的时候如下的说法可能对新人会产生误解的,因为不写成 modifier 的形式不一定就不好,有时恰恰相反:

    # bad
    if some_condition
      do_something
    end
    
    # good
    do_something if some_condition
    

    最后,Perl 和 Ruby 里都还有个 until 的关键词,楼主可以继续开一下脑洞 : )

  • 听了一节 Laravel 的入门课,课程做的很赞。网站的细节也做的很好。

  • 多谢指出。我原本就是想写 lookahead,不是 lookbehind。但测试发现其实写在匹配前面的 lookahead 并未生效,已更新。

ooo