一切都是对象
Ruby支持常见的数据类型:定点整数(Fixnum)、浮点数(Float)、字符类型(string)、线性数组(Array)、哈希表(Hash).变量的类型知道运行时才能推理出来。比如定义语句s=”abcd”后还可以定义s=4.Ruby种的对象都是基于直接调用方法的操作来实现的.
puts 2.class
puts "str".class
puts "12.3".class
puts 12.3.class
puts [1,2,3].class
puts "abcd".upcase
输出:
Fixnum
String
String
Float
Array
ABCD
整型
任何整数都是Fixnum对象
2**3 #2的3次方 8
2**0.5 #2的1/2次方 1.4142135623730951
2**-1 #2的-1次方 1/2
3<<5 #3左移5位 3乘以2的5次方
160>>5 #168右移5位 168除以2的5次方取整
1==2 #false
1==1.0 #true
5<=>6 #-1 a<=>b a<b返回-1,a等于b返回0,a>b返回1
浮点数
浮点数四则运算:
puts 1+2.0
puts 5.0-9.0
puts 4.0/3
puts 3.1*2.2
输出:
3.0
-4.0
1.3333333333333333
6.820000000000001
字符串
puts "hello ruby"
name="Jack"
puts "hello #{name}"
3.times do
puts "Ruby Rocks"
end
var1="sports"
var2="happy"
var3="RubyOnRails"
puts var1.length
puts var1.reverse
puts var2.upcase
puts var3.downcase
输出:
hello ruby
hello Jack
Ruby Rocks
Ruby Rocks
Ruby Rocks
strops
HAPPY
rubyonrails
类型转换
to_s:转换成字符串
to_i: 转换成整数
to_f: 转换成浮点数
puts "12"+12.to_s #1212
puts "12".to_i+12 #24
puts 9/2 #4
puts 9.to_f/2 #4.5
变量和常数
小写单词开始的为一般变量(不能为关键字)
#小写开头的为变量
composer="Mozart"
puts composer + ' was "da bomb", in his day.'
大写开头的为常数
Foo=1
puts Foo
Foo=2 #ruby01.rb:59: warning: already initialized constant Foo 不能再赋值