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}"
 
 
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
 
 
 
2.更好用的打印pp,会根据数据结构增加换行
 
require "pp"
pp data