注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

@fc_lamp

关注Web应用解决方案MySql/PHP/Python一盏名为"飞川"的灯~

 
 
 

日志

 
 

Ruby 命名规则, 运算符,Symbol  

2011-11-08 10:38:00|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

ruby中需要给常量,变量,方法,类,模块命名,保留的关键字不能作为这些名称使用。

ruby可以根据名称的第一个字符来区分是什么名称。
名称可以是大小写字母,数字,下划线的任意组合(这些字符是合法字符),但是只能以字
母或下划线开头。
变量命名规则:
ruby 中的变量可以包含任何类型的数据。使用变量时不需要类型声明,变量名决定了它的
作用域。
本地变量(在对象中定义)以小写字母或者下划线开头,后面跟合法字符。
实例变量以‘@’开头,后面至少跟一个合法字符。
在类中定义的变量,以‘@@’,两个‘@’开头,后面至少跟一个合法字符。
全局变量以‘$’开头,后面跟合法字符,也可以使用‘$-’开头,后跟一个字母(是字母)。  
常量命名规则:
常量以大写字母开头,后跟合法字符。类和模块的命名规则和常量一样。
方法命名规则:
方法名以小写字母开头,后跟合法字符。但是在方法名的结尾,可以跟‘?’或‘!’ (!或
者 bang 代表这是一个比较危险的方法,说危险是相对和它重名,但是不带‘!’的方法。后

面会有专门的章节介绍‘Bang Method’)。

 

Ruby 规范说明如果一个变量或者方法名由多个词组成,需要用下划线隔开。如果是类,模
块或者常量名称由多个词组成时,不需要用下划线,只要把后续词的第一个字母大写就可以。
需要注意的是,一个变量可以是任何类型对象的引用,而且引用是可以动态变换的。常量也
是对象的引用,可以在类和模块中定义常量,但是在方法中不可以。
Ruby允许修改常量的值,但是会给一个警告信息。

变量只是对象的引用,引用失效后,ruby会自动做垃圾收集。

关系运算符:

 Ruby 命名规则,  运算符,Symbol - fc-lamp - fc-lamp的博客

 

另附特殊变量:(图特别说明来源于豆丁网)

Ruby 命名规则,  运算符,Symbol - fc-lamp - fc-lamp的博客

   

   条件赋值操作"||=":p1||= p2 ,如果p1为真就直接返回p1的结果,否则返回p2结果

 

关于Symbol

Ruby中,一切皆是对象。一个对象占用的内存空间显然会比纯粹的变量大得多,当程序中涉及到大量的字符串时,一个Ruby程序会占用过多的内存。

symbol “符号”,在Ruby就是形如:action这样的,一个冒号后跟一段字符串。显然,根据“一切都是对象”定律,它也是一个对象。

这个对象存在的意义在于,它解决了“同内容字符串,不同对象”带来的过多占用内存的问题。简单的说:action代表了'action'字符串,

这里说的是字符串,不是字符串对象。
更确切的讲就是一个Ruby symbol对象代表该对象的冒号后的字符串。

Ralis框架中大量使用此法。

(这段摘至:51cto.com)

eg:

class Person
    attr_accessor:name #外部可读可写的变量
    attr_reader:gender #外部可读变量
    attr_writer:age #外部可写变量

end

  评论这张
 
阅读(361)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017