Hello Ruby(Ruby元 一)

砾漠析取
• 阅读 2594

Hello Ruby(Ruby元 一)

注:上图缺失了几条线,那些eigenclass.class为Class类,下面以MyClass为例

eigenclass = class << MyClass 
  self #进入了MyClass的eigenclass中
end

eigenclass.class #==> Class

其实Class类与Module类的Methods是一样的,而Class.new(也就是你定义的类)与Module.new(也就是你定义的module)的methods就差了:allocate, :new, :superclass这三个方法,所以定义的Module(如Kernel)不能实例化,也不存在超类

Class.methods - Module.methods #==> []

Class.new.methods - Module.new.methods #==> [:allocate, :new, :superclass]

你定义类的类方法其实都在eigenclass中

class MyClass
  class << self #打开了MyClass的eigenclass,定义的方法为Myclass的类方法
    def x1;end  #x1,x2为Myclass的类方法
    def x2;end  
  end
end

obj = Mycalss.new
class << obj  #打开obj对象的eigenclass,定义的方法是obj对象的单件类方法
  def x3; p "I am x3"; end
end
obj.x3 #==> "I am x3"
点赞
收藏
评论区
推荐文章
雷厉风行 雷厉风行
2年前
Mac用户必备的Ruby开发工具,RubyMine 2023新版 永久激活码
RubyMine2023forMac是JetBrains公司开发的一款Ruby编程语言开发工具,支持多种Ruby开发环境,包括Rails、Sinatra等。该软件为Ruby开发人员提供了一站式的集成开发环境(IDE),可帮助他们更快地、更高效地开发代码。
雷厉风行 雷厉风行
2年前
RubyMine 2023 for Mac:专业、高效的 Ruby 开发工具,支持多种 Ruby 版本和框架
RubyMine2023forMac是一款由JetBrains公司开发的专业Ruby开发环境。它提供了许多强大的工具和功能,可以帮助Ruby开发者更高效地编写、调试和部署Ruby代码。mac软件下载:RubyMine2023forMac的主要特点包括:1.
雷厉风行 雷厉风行
2年前
Mac程序员软件-RubyMine 2022 for Mac(强大的Rails/Ruby开发工具)完美激活版
RubyMine2022forMac是一款专注于Ruby开发的综合开发环境。它提供了一系列功能和工具,可用于各种Ruby开发任务,如代码编辑、调试、测试、版本控制和代码浏览等。
Stella981 Stella981
3年前
Ruby on Rails 之旅(五)—— Ruby与Java的区别
相似点Ruby与Java一样的地方,...内存透过垃圾回收(GarbageCollection)机制管理。物件为强型别(Stronglytyped)。有public,private,与protected方法。也有将原始码转成文件的工具(Ruby的叫做RDoc),文件以rdoc产生的样子与j
Stella981 Stella981
3年前
Ruby Profiler详解之ruby
项目地址:rubyprof(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Frubyprof%2Frubyprof)在上一篇Ruby中的Profiling工具(https://www.oschina.net/action/GoToLink
Stella981 Stella981
3年前
RedisCluster集群搭建
RedisCluster集群之搭建一、安装ruby环境见《centos7搭建ruby环境》(https://my.oschina.net/gmarshal/blog/2052823"《centos7搭建ruby环境》")安装redis见《Redis安装单实例》
Stella981 Stella981
3年前
Ruby on Rails学习心得(二)Hello Ruby on Rails
已经配置好RubyonRails的开发环境了,现在开始来写地一个RubyonRails项目——输出HelloRubyonRails。一、新建项目先进用进入存放项目的文件夹,输入一下命令railsnewprojectName,例如railsnewMyBlog其中我要新建的项目名称是MyBlog建好项目以后,然
Stella981 Stella981
3年前
Ruby on Rails 学习笔记(三)
从模型开始,先建立模型而不是建立支架 ruby script/generate model ad name:string description:text price:decimal seller_id:integer email:string img_rul:string从新迁移一下数据库rake db:migrate空模型
Stella981 Stella981
3年前
Ruby中的Profiling工具
看看如何调试Ruby的性能问题Ruby内置的profiler内置的profiler实现的很简单,在ruby2.2中只有150行代码,大家可以看看它的实现profile.rb(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fruby%2Fruby
燕青 燕青
1年前
RubyMine 2023 Mac中文版 附激活密钥
是JetBrains开发的一款为Ruby开发者量身定制的集成开发环境(IDE)。它为Ruby语言提供了全面的支持,包括代码编辑、调试、测试和集成版本控制系统等功能,帮助开发者更加高效地进行Ruby编程。在RubyMine2023中,有一些核心的功能和特性,
新支点小玉 新支点小玉
1年前
CNAS资质认证,快速出证,欢迎咨询
!11284(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/4e90dd6f80dd2c80bdd3dc5e7d686a41.jpg)