Ruby中,在方法中定义类方法或实例方法的举例

class C
	def instance_method
		p "instance_method"
		
		#在实例方法中定义的另一个实例方法
		def another_instance_method
			p "another_instance_method"
		end
		another_instance_method
		
		#在实例方法中定义的类方法
		def C.another_class_method
		#这里不能用self.another_class_method,因为在instance_method里,self是instance
			p "another_class_method"
		end
		#another_class_method#error,不能使用instance调用class method
		C.another_class_method
	end
	
	def self.class_method
		def yet_another_instance_method
			p "yet_another_instance_method"
		end
		#yet_another_instance_method#error,在class_method里,self是class,而不是instance
		
		#在实例方法中定义的类方法
		def self.yet_another_class_method
		#这里就可以使用self.yet_another_class_method,因为在class_method里,self是class
			p "another_class_method"
		end
		another_class_method
		C.another_class_method
	end

end

c=C.new
#c.another_class_method#error,类方法,不能使用实例调用
c.instance_method
p "================="
c.another_instance_method
C.another_class_method
C.class_method

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值