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"
作用域:在全局。用的更少