Ruby的爱好者越来越多了,相比较前段时间了解的Scala,会显得单纯些(不必限于其它平台基础上)。Ruby的变量,有些细节需要注意,否则,一不小心就会犯错。
1. Ruby变量注意点
Ruby变量要注意以下几点:
-局部变量:小写或下划杠“_”开头
-全局变量:$开头
-实例变量:@开头
-类变量:@@开头
-虚变量:false、true、self等特定名称的变量
-常数:必须以大写字母开头
2. 局部变量和全局变量的区别
局部变量和全局变量的区别看看以下代码就清楚了:
hi.rb
- # encoding: UTF-8
- $a = 5 #全局变量
- a = 10 #局部变量
- require './embedit.rb'
- puts("$a = #{$a}; a = #{a}")
embedit.rb
- $a = 50 #全局变量
- a = 100 #局部变量
ruby hi.rb运行结果:
$a = 50; a = 10
Ruby是面向对象的,每个变量都有个object_id,比如前面的$a和a的object_id:
puts("$a.object_id = #{$a.object_id}; a.object_id = #{a.object_id}")
结果:
$a.object_id = 101; a.object_id = 21
3. Ruby的命名规则
另外,Ruby的命名规则,我的习惯大致如下所列:
-变量、方法用连线隔开:print_greetings
-类名和模块名用首字母大写隔开:PrintGreetings