免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3259 | 回复: 2
打印 上一主题 下一主题

Ruby语法学习要点记录-从零开始 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-01-14 16:33 |只看该作者 |倒序浏览
转:lonelystarxing


Ruby语法学习要点记录-从零开始




学习Ruby,记录点自己认为重要的基本的东西,可能有点乱。

1,与Java,C#等语言中的try…catch…finally…throw 相对应, Ruby中用begin/end …rescue…ensure … raise 来处理异常,retry可以用在rescue中。可以只用rescue或是ensure,两者都使用时,rescue必须在ensure前。
2,$arr <<num 的含义是:将num作为数组的一个元素加入到$arr中。
3,类名首字母要大写,如Student,方法名和参数名应该用一个小写字母开头或者用一个下划线开头,如talk,is_prime。
4,@age.to_s的含义是:将数@age转换为字符串。
5,initialize是初始化方法,相当于构造器。attr_writer与attr_reader是getter与setter的简写形式。attr_accessor:a相当于attr_reader:a;  attr_writer:a.
6,class Student < Person 指的是Student类继承Person类。子类继承父类的时候,除了重写方法,也可以添加一些新的方法,或是增强父类的方法(用关键字super指明)。
7,Ruby语言只有重写,没有完全意义上的重载。
8,Ruby 语言中,一个变量被赋予了某个数据类型的值,在程序中你可以随时再赋予这个变量其它数据类型的值。
9,Ruby 是动态语言,你可以改变 Ruby 程序的结构,功能,在Ruby程序运行中。方法、属性可以被加入或去除,新的类或对象可以被建立,新的模块可以出现。
10,方法默认都是公有的(initialize除外,它永远都是私有的)。
11,定义模块用module...end 。模块与类非常相似,但是:
A) 模块不可以有实例对象。
B) 模块不可以有子类。
调用一个模块方法,与定义模块方法一样,要在方法名前加上模块名和一个点号“.”。模块方法提供了一个途径,在模块的外部访问模块内部方法,无须 include 模块。
12,include 方法为一个类的所有对象包含某个模块; extend 方法为一个类的某个对象包含某个模块
13,require包含文件,只加载一次,遇到同一文件时自动忽略;不同路径下的同名文件会多次加载。 load包含文件,加载多次,即使是相同路径下同一文件。
14,print arr.join(", "),"\n" 意思是:将数组arr转换成字符串输出,用", "隔开每个元素,并且换行。一个数组可以用join 方法转换成字符串,join( ) 内的参数也是一个字符串,用来分隔数组的每个元素,例如:arr.join(", ")。
15,%q 用来生成单引号字符串;%Q用来生成双引号字符串。%q或者%Q后面跟着的是分隔符,可以是配对的! !; / /; < >; ( ); [ ] ;{ };等等。
16,Ruby中,可以使用构造器显式地创建一个正则表达式,也可以使用字面值形式 /正则模式/ 来创建一个正则表达式。
   匹配一个正则表达式,用“=~” ,不能用“==”。 “=~”用来比较是否符合一个正则表达式,返回模式在字符串中被匹配到的位置,否则返回nil。
不匹配一个正则表达式,用“!~” ,不能用“!=”。 “!~”用来断言不符合一个正则表达式,返回 true,flase。

Ruby 语言的冗余性、缺陷性和动态性正是现实世界的真实写照。

论坛徽章:
0
2 [报告]
发表于 2011-01-15 08:29 |只看该作者
这个是谁的学习笔记?艹艹自己的?

论坛徽章:
0
3 [报告]
发表于 2011-01-17 11:13 |只看该作者
这个是谁的学习笔记?艹艹自己的?
2gua 发表于 2011-01-15 08:29



    不是  看左上角!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP