Project1

标题: alias问题 [打印本页]

作者: zh99998    时间: 2009-2-15 02:39
标题: alias问题
module Graphics
  alias update_zh99998 update
end
未定义的方法update在模块Graphics
怎么对Graphics.update进行别名 [LINE]1,#dddddd[/LINE]那个已经解决了,不过还不明白class << [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 神思    时间: 2009-2-15 02:46
module Graphics
  class << self
    alias input_update update

  end
end [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: zh99998    时间: 2009-2-15 02:48
麻烦解释一下<<
作者: 神思    时间: 2009-2-15 02:52
a = A.new
class << a
  def b
    return 1
  end
end
p a.b


RUBY参考手册上说这是一种特殊的类`= =``
至于怎么个特殊法它也没讲清楚`= =``

作者: 尤莉斯    时间: 2009-2-15 03:01
参考顶楼秀秀解释的。。= =
作者: zh99998    时间: 2009-2-15 03:06
秀秀?楼顶?哪?
作者: 尤莉斯    时间: 2009-2-15 03:07
http://rpg.blue/viewthread.php?tid=108581 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: zh99998    时间: 2009-2-15 03:09

作者: 尤莉斯    时间: 2009-2-15 03:10
以下引用神思于2009-2-14 18:52:04的发言:

a = A.new
class << a
def b
   return 1
end
end
p a.b


RUBY参考手册上说这是一种特殊的类`= =``
至于怎么个特殊法它也没讲清楚`= =``

- -所谓的单例类,这种类无法生成对象。RUBY的所谓的类方法那些都是采用单例类实现的
比如 File.open 这些方法。
其实a.class就是这个单例类,然后单例类的父类是A。。 也就是中间插入了一层。。 但a.class过滤掉了中间那层返回的是A。。。= =

作者: 雪流星    时间: 2009-2-15 03:26
<< 是定义匿名类




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1