• C++ 入门书籍推荐 at 2016年06月06日

    走错论坛了吧?: ]

  • Ruby SH 薄荷聚会有感 at 2016年05月24日

    #13楼 @darkbaby123 所以说这是互为因果嘛。因为 Ruby 在该领域没有好的选择,只能选择其它更成熟的。反过来,由于很少有人会在该领域选择 Ruby,因而 Ruby 在该领域也会越来越萎缩。

  • Ruby SH 薄荷聚会有感 at 2016年05月23日

    Ruby 在其它领域的现状,主要不是 Ruby 语言本身,而是领域相关的社区及资源远远不完善。

    与 Ruby 目前的圈子组成也有相关,在 Web 领域,Ruby 开发者自然当仁不让。但在其它领域,要么是 领域专家不了解 Ruby,人家自然用自己熟悉的 语言 做项目, 要么是 Ruby 开发者( 因为主要集中在 Web ) 不了解其领域,无法用 Ruby 来写该领域的项目。( 不是说没有人,只是相对 Web 领域, 其它领域的 Ruby 开发者占比太少). 互为因果吧,结果就是现状: Ruby 在强项领域一直很强,在弱项领域一直很弱

    Python 的很多领域的库, 用 Ruby 不能实现吗? 当然能。那用 Ruby 来实现一个吧, 呃....... 这方面不懂啊。 ;)

    领域相关的社区及资源还是需要一步步来, 先有项目,然后再逐步完善吧。其实 Ruby 能做很多事情。

  • #3楼 @seanlin

    __method__method 是两个不同的的方法。

    Kernel.methods 的输出太多, 用 grep 筛选下,就能看到 method

    Kernel.methods.grep /^method$/    #=> [:method]
    
  • 在不考虑第三方 gem 的情况下,可以把方法转为 Method 对象来取得一些信息

    p method(:printf)
    p method(:printf).owner
    
  • 本来就可以在文件对象上直接调用 printf 啊

    f.printf("%-10s\n", 'ruby')
    

    printf 是 IO 类的一个实例方法, File 类继承于 IO,所以其对象可以直接用 printf

  • Windows 下玩 Ruby 一点问题没有。玩 Rails 略有坑。

  • @accept 另一种写法

    def draw_diamond(count)
      raise "Orz... " unless count.odd?
      lines = (1...count).select(&:odd?)
                         .inject(['*']) { |m, i| m << "*#{' ' * i}*"}
      [*lines, *lines.reverse.tap(&:shift) ].each { |l| puts l.center(count) }
    end
    
    draw_diamond(9)
    draw_diamond(15)
    
  • 即使磨好枪,也会有怀才不遇的这种可能。何况 程序员 这个圈子普遍是智商高,情商低,所以这个圈子大部分人被烹也是必然。 给楼主的建议:不要一直给别人做嫁衣。

  • Ruby 的梗不比 C++ 少。