• 什么?!你作为老板连本科都没读过,还想让我给你打工?没门儿!

  • Ruby 3 啥时候来了 at 2020年01月09日

    unless extremely bad things happen

  • Erlang 语言的教程 at 2020年01月05日

    我浅浅的学过 erlang,actor 模式太棒了。我在学习.net 想知道 F# 和 erlang 有什么重要区别🤔

  • Ruby 2.7 的新功能 at 2019年12月07日

    这是在憋大招的节奏啊

  • 所谓的 auto fiber 啥时候才能用上呢?😓

  • 我见过半小时跑路的,不谈技术水平,首先得有正常的为人处事方式吧,技术好补,这东西不好补

  • 当前命名空间,就是当前能够引用到的所有常量,变量,方法名的总集合,load 之后这个总集合里就多出 load 带来的新常量了,改变了这个总集合,所以叫 “污染” 吧。😅

  • 假如有个文件 other.rb,内容是:

    class Foo
      def foo
        puts 'foo'
      end
    end
    

    那么,在 main.rb 里 load 这个文件,

    load 'other.rb', true # 因为是true,所以Foo这个类名就在这里看不到了
    
    f = Foo.new # 这里会 uninitialized constant Foo (NameError)
    f.foo()
    

    但如果是 load 'other.rb', false

    load 'other.rb', false # 因为是false,所以Foo这个类被带进了当前作用域
    
    f = Foo.new # 这里就正常调用
    f.foo()
    

    用 true 参数的时候,我想大概是这样的吧

    #main.rb
    module M
      class Foo
        def foo
          puts 'foo'
        end
      end
    end
    
    M = nil # M应该是个不知道名字的模块
    
    f = Foo.new #不管是Foo,还是M.Foo都没办法引用到了
    f = M::Foo.new
    
  • 我懂了,谢谢。但是有没有可能两个人写的 gem 起了一样的名字,导致都是 gem a,都有 module A,但功能不相关。当然如果都发布到一个网站比如 rubygems.org,是不会有一样名字的。 那么也就是说写 gem 要趁早,好名字被别人占了很麻烦。😂

  • 命名规范是指? 比如按域名一级一级的命名,就像 golang 的 package 一样,还是有其它方式。我观察别人写的 gems,命名就是起一个名字而已,通常就一个单词。