数据类型

数据类型 #

分类 #

  • 分为 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
沪ICP备17055033号-2