在Ruby中,有多种方法可以实现方法的动态调用。
1. 使用send方法
第一种实现动态方法调用是使用send方法,send方法在Object类中定义,方法的第一个参数是一个符号用来表示所要调用的方法,后面则是所调用方法...... <阅读全文>
Ruby面试题专栏 - 最全的Ruby面试题, Ruby笔试题, Ruby问题
Ruby使用File类来操作文件,可以通过File.new来创建一个File类的实例并打开这个文件。
file = File.new(”testfile”, “r”)
# … process the file
file.close
testfile是想要操作...... <阅读全文>
可以使用Thread.new方法去创建一个线程,可以随后代码块中列出线程执行的代码:
x = Thread.new { sleep 0.1; print “x”; print “y”; print “z” }
a = Thread.new { prin...... <阅读全文>
Ruby的多线程是用户级多线程,这样使得Ruby的多线程移植非常容易,你并不需关心具体的操作系统;这样做也使线程容易控制,程序不容易产生死锁这类严重的线程问题。
但是同时,由于Ruby的多线程并不是真正意义...... <阅读全文>
没错,类也是对象,这是Ruby和C++/Java的一个显著不同,在C++/Java中,类仅仅是一个数据抽象,并没有类也是对象这样的概念。而在Ruby中存在着元类的概念,类也是对象,所有类都是元类的实例对象。和C++/Java相...... <阅读全文>
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的概念有所区别,保护方法的意思是方法只能方法只能被定义这个方法的类自己的对象和子类的对象访问,私有方法只能被对象自己访问。
class Test
def met...... <阅读全文>
特殊方法是指某实例所特有的方法。一个对象有哪些行为由对向所属的类决定,但是有时候,一些特殊的对象有何其他对象不一样的行为,在多数程序设计语言中,例如C++和Java,我们必须定义一个新类,但在Ruby中,...... <阅读全文>
Ruby继承的语法很简单,使用 < 即可。
Ruby语言只支持单继承,每一个类都只能有一个直接父类。这样避免了多继承的复杂度。但同时,Ruby提供了mixin的机制可以用来实现多继承。
可以使用super关键字调用对象...... <阅读全文>
在Ruby中,除去内部类的对象以外,通常对象的构造都是动态确定的。某对象的性质由其内部定义的方法所决定。
看下面的例子,我们使用new方法构造一个新的对象,
class Person
def initialize(name, gender, age...... <阅读全文>
类是对具有同样属性和同样行为的对象的抽象,Ruby中类的声明使用class关键字。定义类的语法如下,
class ClassName
def method_name(variables)
#some code
end
end
类的定义要在class…end之间...... <阅读全文>
在Ruby中,所操作的一切都是对象,操作的结果也是对象。
很多语言都说自己是面向对象的,但是他们往往对面向对象的解释都一样,大多是以自己特有的方式来解释什么是面向对象,而在实际情况中,这些面向对象语...... <阅读全文>
问题:给定一个时间点,希望得到其他时间点
参考答案:
Ruby 的所有时间对象都可像数字一样用在值域中。Date和DateTime对象按天递增,而Time对象按秒递增: require ‘date’ (Date.new(1776,...... <阅读全文>
问题:如何将一个描述日期或日期/ 时间的字符串转换为一个Date对象,其中,时间前面的字符串格式可能并不知道。
参考答案:
将日期字符串传递给Date.parse或DateTime.parse: require ‘date’ ...... <阅读全文>
在安装rails之前,要先安装rubygems。rubygems是ruby的在线包管理工具,可以从rubyforge下载rubygems:
http://rubyforge.org/projects/rubygems/
下载好源代码包,解压缩,安装:
tar xzvf rubygems-0.9.0.tg...... <阅读全文>








