スキップしてメイン コンテンツに移動

Ruby初心者のデータ型と確認

Ruby初心者のデータ型と確認

Ruby初心者のためのデータ型入門

Rubyはオブジェクト指向言語で、すべてがオブジェクトです。データ型は、オブジェクトが持つ性質を決定します。初心者が最初に触れるのは、数値、文字列、真偽値、そしてnilです。数値は IntegerFloat に分かれ、文字列は String、真偽値は TrueClassFalseClassnilNilClass というクラスに属します。

以下のコードは、各データ型のインスタンスを作成し、クラス名を確認する例です。

num = 42
puts num.class   # => Integer

dec = 3.14
puts dec.class   # => Float

txt = "Hello, Ruby!"
puts txt.class   # => String

truth = true
puts truth.class # => TrueClass

falsity = false
puts falsity.class # => FalseClass

nothing = nil
puts nothing.class # => NilClass

IntegerとFloatの使い分け

整数を扱う場合は Integer、小数点以下を必要とする計算では Float を使います。Rubyでは整数同士の演算は自動で Integer で結果が返りますが、整数と浮動小数点数を混ぜると結果は Float になります。

a = 5
b = 2
puts (a / b).class   # => Integer (整数除算)

puts (a / b.to_f).class # => Float (浮動小数点除算)

整数の範囲はRubyのバージョンや実行環境に依存しますが、一般的に 64bit 環境では 2^63-1 まで扱えます。大きな数が必要な場合は BigDecimal を検討してください。

StringとNilClass, TrueClass, FalseClassの特徴

文字列は String クラスのインスタンスで、文字列操作メソッドが豊富です。nil は「何もない」状態を表し、NilClass の唯一のインスタンスです。真偽値は TrueClassFalseClass> のインスタンスで、条件分岐で頻繁に使われます。

以下はそれぞれのメソッド例です。

str = "Ruby"
puts str.upcase          # => "RUBY"
puts str.length          # => 4

puts nil.nil?            # => true
puts nil.empty?          # => NoMethodError

puts true.to_s           # => "true"
puts false.to_s          # => "false"

注意点として、nilempty?size などのメソッドを持たないため、呼び出すとエラーになります。条件分岐で nil? を使うと安全です。

classメソッドと型の確認

Rubyではクラス自体もオブジェクトです。class メソッドはオブジェクトが属するクラスを返します。型の確認には is_a?instance_of? を使います。

obj = "sample"
puts obj.is_a?(String)      # => true
puts obj.instance_of?(String) # => true

puts obj.is_a?(Object)      # => true
puts obj.instance_of?(Object) # => false

さらに、クラスメソッドを定義してみましょう。クラスメソッドは self を使って定義します。

class Calculator
  def self.add(a, b)
    a + b
  end
end

puts Calculator.add(3, 4) # => 7

クラスメソッドはインスタンスを生成せずに呼び出せるため、ユーティリティ関数やファクトリメソッドに便利です。型の確認と組み合わせることで、柔軟なコード設計が可能になります。

この記事はAIによって作成されました。

コメント