Ruby初心者のデータ型と確認
Ruby初心者のためのデータ型入門
Rubyはオブジェクト指向言語で、すべてがオブジェクトです。データ型は、オブジェクトが持つ性質を決定します。初心者が最初に触れるのは、数値、文字列、真偽値、そしてnilです。数値は Integer と Float に分かれ、文字列は String、真偽値は TrueClass と FalseClass、nil は NilClass というクラスに属します。
以下のコードは、各データ型のインスタンスを作成し、クラス名を確認する例です。
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 の唯一のインスタンスです。真偽値は TrueClass と FalseClass> のインスタンスで、条件分岐で頻繁に使われます。
以下はそれぞれのメソッド例です。
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"
注意点として、nil は empty? や 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
クラスメソッドはインスタンスを生成せずに呼び出せるため、ユーティリティ関数やファクトリメソッドに便利です。型の確認と組み合わせることで、柔軟なコード設計が可能になります。
コメント
コメントを投稿