class Person
attr_writer:info ##可写的成员变量
@@count = 0 ##静态变量
def initialize(name,age,gender) ##构造方法
@name=name
@age=age
@gender=gender
@info="#{name} #{age} #{gender}"
@@count+=1
end
def info_ref
@info
end
def info
puts @info
end
def Person.getCount ##静态方法
@@count
end
end
class Derive < Person ##继承
def info ##重载
puts "derive"
super
end
end
people = Derive.new('jone',22,'female')
puts people.info
people1 = Derive.new('jone',22,'female')
class << people1 ##特殊类和特殊方法
def info
puts "this is people1 method"
end
end
puts people1.info
puts Person.getCount
puts Person.object_id ##元对象,类对象和实例对象都是对象,都有一个object_id,我们可以像调用一个实例对象的方法去调用类对象的方法
puts people.object_id
Object.class
Object.superclass
class ReTest ##ruby的动态性,可以重新定义一个对象的方法,可以用undef_method去掉一个方法的定义
def meth
puts "this is a method"
end
end
retest = ReTest.new
retest.meth
class ReTest
def meth
puts "this is a another method"
end
end
retest = ReTest.new
retest.meth
class ReTest
undef_method(:meth)
end
obj = ReTest.new
obj.meth
输出:
D:\software\Ruby192\bin\ruby.exe -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) D:/project/rubyDemo/test1.rb
D:/project/rubyDemo/test1.rb:65:in `<top (required)>': undefined method `meth' for #<ReTest:0xc95160> (NoMethodError)
derive
from -e:1:in `load'
jone 22 female
from -e:1:in `<main>'
this is people1 method
2
6597492
6597360
this is a method
this is a another method
Process finished with exit code 1
分享到:
相关推荐
Ruby是一种面向对象的编程语言,以其简洁、优雅的语法著称,特别适合Web开发。Ruby on Rails(简称Rails)是基于Ruby构建的一个开源Web应用程序框架,它遵循模型-视图-控制器(MVC)架构模式,极大地提高了开发效率...
至于“源码”和“工具”标签,这可能意味着压缩包中包含了示例代码或实用工具,可能是用于学习Python和Ruby的练习项目、脚本或代码片段。而文件名“New Microsoft Office Word Document.docx”则提示我们其中可能...
Ruby的MongoMapper库就是为了让开发者能够更自然地在Ruby对象和MongoDB文档之间进行映射,从而简化数据操作。 MongoMapper的设计理念深受ActiveRecord的影响,它是Ruby on Rails框架中的核心组件,但MongoMapper...
Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。...通过学习和实践这些示例,你将能够掌握Ruby编程的基础和高级特性,从而在实际项目中更加得心应手。
Ruby是一种强大的、面向对象的编程语言,以其简洁的语法和强大的功能著称。...这些代码示例是学习和提升Ruby on Rails技能的重要资源,通过实际操作,你可以加深对Ruby和Rails的理解,提高开发能力。
"ruby--.txt"可能是一个文本文件,其中包含了Ruby的代码示例、笔记或者问题解答,通过阅读可以加深对Ruby语法和实践的理解。 "Ruby语言入门教程附实例"和"ruby-mht"文件很可能是包含实例的教程,实践是学习编程的...
Ruby是一种面向对象的编程语言,以其简洁、优雅的语法和强大的功能著称。这篇阅读物主要聚焦于Ruby的基础,通过实例来帮助初学者理解和掌握这门语言的核心概念。以下是基于标题和描述中提及的一些关键知识点的详细...
java一个对象笔试题 Ruby DDD 示例应用程序 目标 此示例应用程序的目标是提供 DDD 示例应用程序的惯用 Ruby 端口。 它应该忠实于原始 DDD 示例应用程序的目的。 为什么是 Ruby 端口? 因为 Paul 想学习 Ruby,看看它...
《Practical Object-Oriented Design in Ruby 新版 实战ruby面向对象设计》是一本非常受欢迎的编程书籍,它不仅是学习Ruby语言的重要参考资料,也是深入理解面向对象编程(OOP)技术不可或缺的宝贵资料。这本书由于...
以上就是Ruby语言的基础知识和关键特性,通过深入学习和实践,你可以利用Ruby开发各种应用程序,包括Web开发(如Ruby on Rails框架)、脚本自动化、命令行工具等。在阅读提供的"Ruby语言入门教程&代码示例.docx"文...
### Ruby语言基础知识与示例详解 #### 一、Ruby简介 Ruby是一种面向对象的脚本语言,具有简单、高效的特点。...为了更好地掌握Ruby,建议结合实际项目进行练习,并参考官方文档和专业书籍深入学习。
Ruby是一种面向对象的编程语言,以其简洁的语法和强大的功能深受开发者喜爱。在Ruby的世界里,函数式编程的概念也被巧妙地融入其中,这体现在“Functo”这样的库上。标题提到的“Ruby-Functo”就是Ruby中实现可组合...
Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。在这个"Ruby-一个Ruby的例子...通过深入学习和实践这个Ruby例子,你将更好地理解它的语法、面向对象特性和丰富的库支持。
为了让对Ruby感兴趣的编程爱好者能够通过实践来提升技能,本篇文章特地介绍一个“Ruby学习一个综合小练习”的资源。这篇教程不仅涵盖了基础理论知识,而且通过一个具体的项目,让学习者在实践中加深对Ruby编程语言的...
5. **源码解读**: 源码可能包含了如何在易语言环境中创建Ruby调用的示例,包括设置命令行参数、读取脚本返回值等。通过分析这些源码,可以学习到如何在易语言中有效地集成和使用Ruby脚本。 6. **学习资源**: 对于...
### Ruby 学习指南 #### 一、Ruby 语言简介 **Ruby** 是一种功能强大且灵活的编程语言,由 Yukihiro “Matz” Matsumoto 在 1995 年创建。Ruby 被设计为一种真正的面向对象的语言,其中一切皆为对象,这也意味着每...
Ruby 是一种简洁、直观且易于学习的面向对象编程语言,以其优雅的语法和强大的元编程能力而闻名。Ruby 最著名的应用之一是 Ruby on Rails 框架,它极大地简化了 Web 应用程序的开发。以下是几个 Ruby 语言的示例,...
本资源“学习 Ruby 的笔记以及 Demo.zip”显然包含了关于Ruby编程的学习资料和一些实际示例代码,旨在帮助初学者理解并掌握Ruby的基础及进阶特性。 首先,让我们深入了解一下Ruby的核心特性: 1. 面向对象:Ruby是...
Ruby是一种面向对象的脚本语言,以其简洁、优雅的语法和强大的编程能力而闻名。在Ruby中处理PDF文档,我们可以利用rubyPDF库,它提供了一系列的工具和方法,使得在Ruby中创建、编辑和操作PDF文件变得十分方便。...