Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
@Saito
VIP
NO. 243 / 2011-11-24

杭州
43 Topics / 837 Replies
67 Followers
4 Following
0 Favorites
#programmer
GitHub Public Repos
  • linner 275

    HTML5 Application Assembler

  • simba 78

    ruby off rails best practice.

  • fireup 32

    Deploy your ruby/rails code with fireup.

  • grack 17

    GIt Smart HTTP Server Rack Implementation

  • grit_ext 9

    extension for grit

  • dotfiles 7

    some dotfiles

  • rseg 6

    A Chinese Word Segmentation(中文分词) routine in pure Ruby

  • state-machine 4

    based on java signals.

  • saitowu.github.com 3

    personal page

  • gitlabhq 2

    Project management and code hosting application. Follow us on twitter @gitlabhq

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #47 楼 @bhuztez 有 GC, 萌大奶...

  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #45 楼 @bhuztez

    bhuztez 45 楼,于 3 分钟前回复 喜欢 #44 楼 @Saito 反正就是 Ruby 不能直接把 object 的 class 改了,Python 可以...

    小时候院子里小伙伴经常这么说...

  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #43 楼 @bhuztez 替换覆盖重名的.. Just a little trick.

  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #40 楼 @bhuztez

    [1] pry(main)> class A
    [1] pry(main)*   def a;end
    [1] pry(main)* end  
    => nil
    [2] pry(main)> class B < A
    [2] pry(main)* end  
    => nil
    [3] pry(main)> B.new.methods - Object.new.methods
    => [:a]
    [4] pry(main)> class C
    [4] pry(main)*   def c; end
    [4] pry(main)* end  
    => nil
    [5] pry(main)> B = Class.new C
    (pry):10: warning: already initialized constant B
    => B
    [6] pry(main)> B.new.methods - Object.new.methods
    => [:c]
    
  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #38 楼 @bhuztez 可以通过

    def B.superclass
      Object
    end
    

    改变继承关系。但是继承到的 方法什么的都是还在的。

  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #36 楼 @bhuztez

    [7] pry(main)> b = B.new
    => #<B:0x007ff5b192e6a0>
    [8] pry(main)> b.class
    => B
    [10] pry(main)> def b.class
    [10] pry(main)*   "C"
    [10] pry(main)* end  
    => nil
    [11] pry(main)> b.class
    => "C"
    

    这个作弊太方便了。

  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #30 楼 @bhuztez #33 楼 @Saito

    [1] pry(main)> class A
    [1] pry(main)* end  
    => nil
    [2] pry(main)> class B < A
    [2] pry(main)* end  
    => nil
    [3] pry(main)> B.superclass
    => A
    [4] pry(main)> B = Class.new
    (pry):6: warning: already initialized constant B
    => B
    [5] pry(main)> class B < Object
    [5] pry(main)* end  
    => nil
    [6] pry(main)> B.superclass
    => Object
    
  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #30 楼 @bhuztez

    >>> class A:
    ...   pass
    ... 
    >>> class B(A):
    ...   pass
    ... 
    >>> B.__bases__
    (<class __main__.A at 0x10a7fdce8>,)
    >>> class B(object):
    ...   pass
    ... 
    >>> B.__bases__
    (<type 'object'>,)
    
  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #28 楼 @bhuztez

    [1] pry(main)> class A
    [1] pry(main)* end  
    => nil
    [2] pry(main)> class B < A
    [2] pry(main)* end  
    => nil
    [3] pry(main)> B.superclass
    => A
    [4] pry(main)> class B < Object
    [4] pry(main)* end  
    => nil
    [5] pry(main)> B.superclass
    => A
    [6] pry(main)> class B < BasicObject
    [6] pry(main)* end  
    TypeError: superclass mismatch for class B
    from (pry):9:in `<main>'
    
  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #26 楼 @bhuztez 能做到替换么?只是覆盖吧。覆盖的话也是做不到清除继承信息。

    Ruby 里面我也不知道怎么做替换.. 我只知道可以覆盖。

  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #24 楼 @bhuztez 求助,Python 行么?

  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #22 楼 @bhuztez 是的,用新的 classloader load 一个新的同名类。

  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #20 楼 @hooopo 类似这样:

    A.included_modules
    => [Enumerable, PP::ObjectMixin, Kernel]
    ClassLoader.load(A.class)
    => [A.class]
    ClassLoader.unload(A.class)
    => []
    File.edit(A.class)
    => ooxx
    ClassLoader.load(A.class)
    => [PP::ObjectMixin, Kernel]
    
  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #17 楼 @hooopo 没有解决本质问题啊。

    [0] pry(main)> Array.included_modules
    => [Enumerable, PP::ObjectMixin, Kernel]
    

    没解决这里面的问题。

  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #15 楼 @hooopo 我们转换一下这个问题吧。

    就像最开始说的那样.. 怎样能取消一个已有类的继承关系?或者 mixin module 的关系..

    现在看来,大家的解决方案都是 undef 掉 mixin method, 或者 undef 掉 继承的 method.

    但是实际上没有解决本质问题。

    实际上这个在 Java 里面挺好解决的。Java 可以把老的类从 classloader 里面清理掉。重新 load 一个新的.. Ruby 没有 classloader 机制。貌似 cache 是不清理的。

    大家可以发散一下。

  • [杭州] 招人来和我一起做运维平台 at July 13, 2012

    #13 楼 @vissul 昨天已经跟 @fsword 说过这个系统了,实际上 commando.io 跟要做的系统现阶段是一模一样的。功能都有。

    在长远规划上面要比现在的 commando.io 好的多。

  • [杭州] 招人来和我一起做运维平台 at July 12, 2012

    楼主的系统很靠谱,有痣青年千万不要错过了。

  • 关于类对自身静态方法的调用的问题 (已解决) at July 12, 2012

    self.class.say_hi

  • 阻碍 Ruby 普及的因素有哪些? at July 12, 2012

    #14 楼 @bhuztez 现状是这样的。

    Fork 三份,时间稍微跑的久一点就是 3x 内存。( 参考 unicorn 就好了

    三线程跑的久了,就是只比一个多一点点。( puma 是这样的。

  • 阻碍 Ruby 普及的因素有哪些? at July 12, 2012

    #9 楼 @bhuztez 现在多进程部署,部署三个进程就 3x 内存。

    如果都线程安全了,内存就少了三倍。

    本身 rails 占的内存其实还好。

  • 阻碍 Ruby 普及的因素有哪些? at July 12, 2012

    #6 楼 @bhuztez rails 4 默认线程安全,会好非常多。

    虽然还有很多线程不安全的库。

  • 真瞎,JRuby 也被墙了!能开个 JRuby 的版块么?或者放在 Languages 下。 at July 11, 2012

    #5 楼 @bhuztez 没用过 GCJ, 但是关键词了一下。貌似真有这个需求。而且是可以跑起来的..

    不过没有 Hotspot 加持,就不知道性能怎么样了。

  • 真瞎,JRuby 也被墙了!能开个 JRuby 的版块么?或者放在 Languages 下。 at July 11, 2012

    #3 楼 @cqpx 貌似在 JVM version >= 1.7 的情况下,jruby 性能 2x ~ 4x 速之于 cruby.

  • 如何获取文件的编码 at July 11, 2012

    rchardet19 or charlock_holmes

  • Github 一个 repo 里嵌别的 repo 是怎么做到啊? at July 11, 2012

    git submodule

  • Prev
  • 1
  • 2
  • …
  • 18
  • 19
  • 20
  • 21
  • 22
  • …
  • 27
  • 28
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English