数据类型 #
分类 #
- 分为 Integer, Float, String, Array, FalseClass, TrueClass, Fixnum 等
- 一切皆对象
BigDecimal #
默认情况下浮点数计算也会损失精度,需要使用 BigDecimal
类型,并使用字符串来创建。
require 'bigdecimal'
puts 2-1.8 # => 0.19999999999999996
puts BigDecimal.new('2')-BigDecimal.new('1.8') # => 0.2E0
类型转换 #
puts 10.to_s.class # => String
类型判断 #
使用 is_a?
if foo.is_a? String
puts 'foo is a String'
end
Symbol #
Ruby 使用 :
来定义 Symbol 对象。Symbol 是 Ruby 中的一种基本类型,属于常量。
object id #
Ruby 中所有对象都有 object_id
这一属性。
puts 'foobar'.object_id
puts :bar.object_id
Symbol 与 字符串转换 #
Symbol -> String
puts :bar.to_s
String -> Symbol
有以下两种形式
puts 'bar'.to_sym
puts 'bar'.intern
空值 #
Ruby 中空值使用 nil
表示
x = nil
puts x == nil # => true
puts x.equal? false # => false
puts x.nil? # => true