Ruby基本语法

 

数据类型

 

大概分为如下几类

Number:1

String:“Jim”

Bool:true, false

Array:[1,2,3]

Hash:{:name=>"Jim",:age=>20}

赋值

Ruby中的变量,不需类型声明

name=“jim”

#=>jim

命名规则

常量:全都是大写字母。ANDROID_SYSTEM='android'

变量:若不算@,@@,$的话,都是小写字母开头,下划线拼接。例如:color, age ,is_created

class, module:首字母大写,Apple, Human

方法名:小写字母开头。可以以问号?或者等号结尾,例如:name, created?, color=

Class的写法

作为面向对象语言,class最为重要。

具体写法:

1. 名字首字母大写

2. class开头,end结尾

3. 文件名字与class名称一样。只是改为:下划线+小写

Class的例子

class Apple

  #这个方法就是在Apple.new时自动调用的方法
  def initialize
    # instance variable,实例变量
    @color
  end

  #getter方法
  def color
    return @color
  end

  #setter方法
  def color=color
    @color=color
  end

  #private下面的方法都是私有方法
  private
  def i_am_private
  end

end

red_apple=Apple.new
red_apple.color='red'
puts "red_apple.color:#(red_apple.color)"

 运行这个文件

$ ruby apple.rb
# =>"red_apple.color:red"

上面例子是java/c风格的,ruby熟手一般写:

class Apple

  #这一句自动声明了@color,getter,setter
  attr_accessor 'color'

end

 

变量类型

类变量:class variable,例如 @@name

作用域:所有的多个instance会共享这个变量。用的很少

实例变量:instance variable,例如 @color

作用域:仅在instance内,在Rails中被大量使用

普通变量:local variable,例如 age=20

作用域:仅在某个方法内。大量使用

全局变量:global variable,例如 $name="Jim"

作用域:在全局。用的更少

 

posted @ 2018-01-07 22:26  st追杀者  阅读(325)  评论(0编辑  收藏  举报