1.对象
- 数值对象
- 字符串对象
- 数组对象,散列对象
- 正则表达式对象
- 时间对象
- 文件对象
- 符号对象
2.类
- Numeric
- String
- Array
- Hash
- Regexp
- File
- Symbol
3.变量,变量的开头决定了变量的类型
- 局部变量,以英文字母或者_开头
- 全局变量,以$开头
- 实例变量,以@开头
- 类变量,以@@开头
- 伪变量(nil,true,false,self等)
4.常量以大写字母开头
5.保留字
1.变量赋值
a,b=1,2
puts "a,b=#{a},#{b}"
a,b=b,a #交换两个变量的值
puts "a,b=#{a},#{b}"
a,b,c,d,e,f=1,2,3 #多余变量的值设置为nil
print a,',',b,',',c,',',d,',',e,',',f,"\n"
a,b,c=1,2,3,4,5 #多余值被忽略
puts "a,b,c=#{a},#{b},#{c}"
a,b,*c=1,2,3,4,5 #最后一个变量变成了数组
puts "a,b,c=#{a},#{b},#{c}"
ary = [1,[2,3],4]
a,b,c=ary #中间变量被赋值为数组
puts "a,b,c=#{a},#{b},#{c}"
puts "a,b=#{a},#{b}"
a,b=b,a #交换两个变量的值
puts "a,b=#{a},#{b}"
a,b,c,d,e,f=1,2,3 #多余变量的值设置为nil
print a,',',b,',',c,',',d,',',e,',',f,"\n"
a,b,c=1,2,3,4,5 #多余值被忽略
puts "a,b,c=#{a},#{b},#{c}"
a,b,*c=1,2,3,4,5 #最后一个变量变成了数组
puts "a,b,c=#{a},#{b},#{c}"
ary = [1,[2,3],4]
a,b,c=ary #中间变量被赋值为数组
puts "a,b,c=#{a},#{b},#{c}"
F:\book\ruby\code>ruby chgvar.rb
a,b=1,2
a,b=2,1
1,2,3,,,
a,b,c=1,2,3
a,b,c=1,2,[3, 4, 5]
a,b,c=1,[2, 3],4
a,b=1,2
a,b=2,1
1,2,3,,,
a,b,c=1,2,3
a,b,c=1,2,[3, 4, 5]
a,b,c=1,[2, 3],4
2.更好用的打印pp,会根据数据结构增加换行
require "pp"
pp data