ruby学习一

来源:互联网 发布:网络舆情工作总结 编辑:程序博客网 时间:2024/05/21 15:39

好多人都和我提到ruby的优越性,心动。从网上下载了电子书,准备好好学习。

在学习过程中遇到的一些问题,记录在此。

1.Ruby使用一个约定来帮助它区别一个名字的用法:名字前面的第一个字符表明这个名字的用法。局部变量、方法参数和方法名称应该用一个小写字母开头或者用一个下划线开头;全局变量用美元符作为前缀 $;而实例变量用 @ 开头;类变量用 @@ 开头;类名、模块名和常量应该用大写字母开头。

局部变量:局部变量:在程序中,只在特定的过程或函数中可以访问的变量,是相对与全局变量而言的。

 

全部变量:全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的 末尾。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放

 

实例变量:实例变量就是当一个类有多个实例时,变量存在的个数的实例一样多,即意味着一个实例拥有一个实例变量的操作权,并且不能更改其它实例中的实例变量

 

类变量:类变量就是以前说的静态变量,不会因为类重现申明了新的实例而增加。

 

2.赋值符“=”

正常情况下,ruby里的赋值符号和其他语言里一样,但是有一种情况比较特殊

a=1;

b=5;

a,b=b+1,a;

puts a,b;

返回值:6

1

 

3.条件运算符

(1).== (等于):只比较两个对象的值是否一致

a=1; b=1.0; a==b #true

a=1;b="1";a==b; #false

(2).eql? :比较两个对象的值、类型是否相等,返回 true, flase

a=1; b=1.0; a.eql?(b) #flase(a为整数型,b为浮点型)

(3).equal? :比较两个对象在内存中地址是否相同,返回 true, flase

a=1.0; b=1.0; a.equal?(b) #flase

a=1.0; b=a ; a.equal?(b) # true

(4).<=>
比较两个对象的大小,大于、等于、小于 分别返回1,0,-1
"aab" <=> "acb" # -1 (第二个 a 的 ASCII 码小于 c)
[5] <=> [4,9] # 1 (第一个元素 5 > 4)
(5).===
右边的对象是否在左边区间之内,返回 true, flase
puts (0..9)=== 3.14 #true
puts ('a'..'f')=== 'c' # true

(6).=~(匹配)
用来比较是否符合一个正则表达式,返回模式在字符串中被匹配到的位置,否则返回 nil
(7).!~ (不匹配)
断言不符合一个正则表达式,返回 true, flase
(8).<= < > >=
小于等于 小于 大于 大于等于

原创粉丝点击