Ruby 的 self 和 Java 的 this 有相似之处,但又大不相同。Java 的方法都是在实例方法中引用,所以 this 一般都是指向当前对象的。而 Ruby 的代码逐行执行,所以在不同的上下文(context)self 就有了不同的含义。
使用 self 访问类信息
#!/usr/bin/ruby -w
# -*- coding : utf-8 -*-
puts "HaiCoder(www.haicoder.net)"
class Box
# 输出类信息
puts "Class of self = #{self.class}"
puts "Name of self = #{self.name}"
end
程序运行后,控制台输出如下:
我们使用 self 可以访问类信息。
Ruby 的 self 和 Java 的 this 有相似之处,但又大不相同。Java 的方法都是在实例方法中引用,所以 this 一般都是指向当前对象的。而 Ruby 的代码逐行执行,所以在不同的上下文(context)self 就有了不同的含义。