Ruby中self的作用

    Ruby中有一个奇怪的关键词self,这个关键词非常的灵活,在不同的场景下,self代表着不同的含义。

    学过C++的同学,可以这样理解,self其中的一个作用类似于C++类中的this指针的使用,表示的就是当前对象或者默认对象,类似于C++中的this指针,但是又不大相同。

this和self的区分:

      相同点:this指的是当前对象,然后self在类中方法中的含义也指的是当前对象。

      不同点:self的作用不仅只代表是当前对象,self的作用会依赖与self的上下文的作用,不同位置的self表示的含义是不相同的。

一、self的作用汇总表


(1)顶层作用(相当于在main函数中的作用):


(2)顶层方法时作用(相当于在main函数中被调用的函数的self作用):


备注:顶层上下文的self是main,顶层方法的self也是main。main是Object的一个对象。

(3)类中作用:(self是类对象本身)


(4)类中实例方法作用:(self表示是对象A)


(5)模块中self是模块的名字


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值