ruby on rails入门系列--ruby的基本语法

来源:互联网 发布:linux 复制所有子文件 编辑:程序博客网 时间:2024/04/30 13:32

 ruby是一种纯面向对象语言,在ruby的语言中,所操作的东西全部都是对象,如下代码:

"oec2003".length   #返回字符串的长度

-123.abs   #求负数的绝对值

上面的两行代码非常直观的表现了ruby的特性

ruby中的名称

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

ruby中的方法

        现在就来编写一个ruby中的方法,写一个最简单的hello

def  say_hello(name)

    result="hello,"+name

    return result

end

puts say_hello("oec2003")    #返回hello,oec2003

可以看到ruby中的方法是以关键字def定义的 后面跟方法名,以end结束,习惯了c#和java,可能会感到不适很习惯。在方法的内部语句中,如果每条语句都是放在单独的一行,语句的后面就不必加分号。

ruby中的类

    ruby中的类同样是以关键字class来定义,随后是类名

class Oec2003

end

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

class Oec2003<ActiveRecord::Base

end

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

ruby类中的方法可以加访问修饰符来限制访问级别

class Oec2003

    def method1        #没有加任何修饰符,默认为public

    end

    protected

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

    end

    private

    def method3

    end

end

ruby中的模块

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

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

module  Oec2003

end

ruby中的控制结构

条件判断语句:条件中判断是否相等使用==,注意不要写成了=

if  count>10

    puts  "count 大于10"

elsif count==10       #注意此处是elsif  而不是elseif

    puts "count等于10”

else

    puts "count小于10"

end

循环语句

while循环

while  age<30

    puts age

   age=+1

end

单行while

age=age+1 while age<30

until 循环

a=1

until a>=10

  puts a

  a+=1

end

for..in..循环

for i in 1..9

   puts i,""

end

原创粉丝点击