Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
bhuztez
@bhuztez
VIP
NO. 1569 / 2012-03-24

40 Topics / 2614 Replies
105 Followers
0 Following
0 Favorites
No GitHub.
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #56 楼 @Saito 有区别啊

    >>> class A(object):
    ...     pass
    ... 
    >>> old = a = A()
    >>> class B(object):
    ...     pass
    ... 
    >>> a.__class__ = B
    >>> a == old
    True
    >>> a = B()
    >>> a == old
    False
    

    直接改 __class__ ,引用 a 的地方,你不用去改。生成一个新的 object,你得改所有引用旧的 object 的地方,这个好像没啥办法。

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

    #54 楼 @Saito 见 #53 楼

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

    #52 楼 @Saito 你说的挂是啥概念?

    instance 需要你主动去替换的,换掉 instance 的 class 之后,旧版的 class 就可以被回收了

    >>> class A(object):
    ...     pass
    ... 
    >>> a = A()
    >>> class B(object):
    ...     pass
    ... 
    >>> a.__class__ = B
    
  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #48 楼 @hooopo 不是,Python 和 Ruby 的官方实现,从 C 层面上看,object 都是有个一个类型指针的。只是 Ruby 不让你在 Ruby 代码里替换这个指针,就是这样...

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

    #49 楼 @Saito GC 也不行啊,因为已经存在的 object 会引用旧版的 class,只要那个 object 没死,旧版的 class 就不会被干掉啦...

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

    #46 楼 @Saito 你不觉得不能改会有问题么,每载入一份新版本的代码,内存占用就多那么一点点...

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

    #44 楼 @Saito 反正就是 Ruby 不能直接把 object 的 class 改了,Python 可以...

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

    #41 楼 @Saito http://stackoverflow.com/questions/7528552/is-it-possible-to-change-the-class-of-a-ruby-object

    http://www.ruby-forum.com/topic/87005

    看来 Ruby 就是不能

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

    #41 楼 @Saito 你这不算啊,你后面的 B 是新建出来的啊

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

    #39 楼 @Saito 所以不一样么

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

    #37 楼 @Saito 这个不算啊,Python 里面 b.__class__ = B 是起作用的,用来作弊的__instancecheck__和__subclasscheck__

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

    #35 楼 @Saito Ruby 里面 b.__class__ = B 咋实现?

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

    #29 楼 @Saito 想起来了,Python 可以作弊的...

    http://docs.python.org/reference/datamodel.html#customizing-instance-and-subclass-checks

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

    #29 楼 @Saito 得把 instance 也改掉啊,你这样光改个 class 又没用的

  • redundant_column at July 13, 2012

    #9 楼 @fresh_fish 这有啥不保险的,数据库就是拿来干这活的...

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

    #27 楼 @Saito

    就像这样直接替换掉啊

    >>> class A(object):
    ...     a = 1
    ... 
    >>> class B(A):
    ...     pass
    ... 
    >>> b = B()
    >>> b.a
    1
    >>> class B(object):
    ...     pass
    ... 
    >>> b.__class__ = B
    >>> b.a
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'B' object has no attribute 'a'
    
  • 忽然想知道如何取消继承的类 (没人关注吗) at July 13, 2012

    #25 楼 @Saito 明显不行啊,最多只能动态生成一个新类替换进去...

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

    #23 楼 @Saito 所以还是不行嘛

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

    #21 楼 @Saito 这个只是重新生成了一个类吧...

  • redundant_column at July 13, 2012

    #2 楼 @hooopo 我是说用户积分还不如直接 JOIN,冗余估计也不能改善多少啊

  • redundant_column at July 13, 2012

    我觉得就那些查询的时候需要 aggregate 的才要冗余吧...

  • 想拿 Rails 给国内某高校做一套现代的内容管理系统 at July 13, 2012

    13 对上传的 MS Word DOC 文件提供预览,文字提取或转换成 PDF

    这个有难度吧

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

    感觉基于 Web 的各种不靠谱啊

  • Amazon 招聘 Rails 工程师 at July 12, 2012

    看到英文很烂的招聘就直接 Pass。。

  • ruby 循环性能计算. at July 12, 2012

    #11 楼 @hooopo 我一直认为 Ruby 1.9 就是 2 啊...

  • ruby 循环性能计算. at July 12, 2012

    #9 楼 @hooopo

    看来 Ruby 2 快了不少啊,的确是 1.8.7 比较慢的缘故

    $ ruby -v
    ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]
    
  • [杭州] 招人来和我一起做运维平台 at July 12, 2012

    好歹也具体介绍下已有的基础是怎么个情况...

  • ruby 循环性能计算. at July 12, 2012

    #7 楼 @hooopo 为啥我觉得他们的机器都快得离谱啊。我这少个零,也分别要

    total cast time:5.62507
    total cast time:3.195106
    

    还是我机器太烂了...

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

    #32 楼 @gaicitadie 也不是啦,至少所有我听说的一站式的框架都缺个给力的 ORM,所以变化还是会有的啦...

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

    #17 楼 @hooopo 其实啦,Python 的实现也是这么坑爹的。但 Rails 也太夸张了,想想以前折腾 redmine 的时候,发现一个进程刚起来啥都没干就吃掉了 80+M 的内存啊,直接就傻掉了...

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