您的位置:首页 > 编程语言 > Ruby

ruby基本语法

2012-10-01 13:50 288 查看
在ruby中,不管是数字,字符串,还是对象,都看做是对象。并且每一个对象都内置了一系列方法。java的基本类型有它的包装类对象。在ruby中就不会有包装类的概念

因为一切都是对象。ruby应该说比java更面向对象

使用对象“.”然后跟方法名可以调用这个对象的方法以及ruby的核心方法内置在ruby的核心模块中,可以被任何对象调用(如:puts,gets)

puts 相当于java里面的System.out.println();

ruby的注释有2个方法 多行注释用=begin和=end括起来 单行注释用#号

‘’和“”可以定义一个字符串 ‘’效率更好 后面会讲 2是一个整型 它也是一个对象 所有可以调用ruby的核心方法 to_s表示把它转成字符串。这里不同与java ,java会自动把2转化成字符串再相加。ruby不会 否则会报错。

用def定义方法,方法体要在def和end里面,参数列表需要括号里

each表示数组的每一个 相当于for循环

def check(*arg1)
arg1.each do |strings|
puts strings
end
end

check('1','2') ’*'会接受传过来的所有参数并把他们放在arg1中


方法别名:alias

在ruby中可以给方法指定一个别名,对应的是原方法的一个拷贝。如果原方法改变了,别名不会跟着变化,它仍然指向原来的函数。

数组:

可以使用[]定义数据 数组可以包含不同的对象类型 可以用负索引表示最后一个元素开始

<pre class="ruby" name="code">
array=[1,'string',1.2]
puts array[0] #1

范围:
范围这个概念用在一系列元素(序列)情况下。这个序列有一个起点 一个终点,中间是连续的有规律的元素
在ruby中可以使用..和...生成这样的对象 ..包含终点 ...不包含终点
<pre class="ruby" name="code">digits=-1..9
puts digits.include?(5)   #true   是否包含5
puts digits.include?(5.2) #true   是否包含5.2
puts digits.min           #-1     最小值
puts digits.max           #9      最大值
#范围对象使用最多的就是判断某个值是否在这个范围内 可以是用===符号
puts digits===5           #true
puts digits===15         #false
puts digits===3.1415926  #true
puts ('a'..'y')==='g'      #true
puts ('a'..'y')==='z'      #false
ruby中的名称

在ruby中变量,方法的参数,方法名都是以小写字母或者下划线开头。如果变量或者方法名中包含有多个单词,单词全部都是小写,并且单词之间用下划线相连(如:hello_oec2003)。类名,模块和常量名必须以大写字母开头,如果是多个单词组成,每个单词的首字母都是大写,单词间不连下划线。

在rails中类通常都会继承Base基类

class Oec2003<ActiveRecord::Base

end

表示Oec2003继承Base基类,ruby中的继承是用<实现,Base基类属于模块ActiveRecord中

protected

def method2 #修饰符为proteted ,注意修饰符是写在方法的上面

end

ruby中的模块

模块和类有点相似,他们都包含一组方法,常量以及其他的类和模块的定义,和类不同的是模块不能创建实例。

模块的用途有两个。第一:起到了命名空间的作用,使方法的名字不会冲突。第二:可以使在不同类之间共享同样的功能。如果一个类混入了一个模块,那么这个类就拥有模块中所有的实例方法,就好像是在类中定义的一样

module Oec2003

end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: