(Ruby)类变量,实例变量,类常量,如何访问变量

ruby对于变量的定义、作用域以及访问方法确实和我平常用的C#,javascript,java等复杂了些,而且相对来说有点难以理解。

最常用的是实例变量,定义的时候需要带上@符号,完全可以定义的同时即可使用,外部访问要么自定义方法来进行回馈,或者使用缩写代码块来表达:

attr_accessor: 变量名
:

其中attr_accessor可以更改为attr_reader或者attr_writer,分别代表只读和只写访问

 

 注意上面是有两个冒号的!!

比较奇特的是,实例变量无法脱离方法进行声明和定义即不能类定义内方法外来进行声明和定义。

 

接着要说的是类变量。类变量通常可以定义声明在方法体外,但是必须带有@@这个前缀,若是想从外部进行访问,则必须声明相应的方法来访问。

 

再来谈谈类常量。长时间的c和c#代码阅读中,“常量名大写”一直是作为标准代码来要求的,但是ruby并没有这种要求,访问对于类名首字母有这样的要求。相比较类变量,常量的定义和声明不需要加上@这种前缀,而且也可以在类体里方法定义外,只不过外部访问的时候需要按照如下方式进行访问:

类名::常量名

 

转载于:https://www.cnblogs.com/ocean2000/archive/2012/09/17/2689061.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值