Ruby基礎: 文字列・数値・配列
Ruby基礎と組み込みクラスの概要
Rubyはオブジェクト指向言語で、すべてがオブジェクトです。組み込みクラスとしてString、Integer、Array、Hash、Range、Symbolなどが標準で提供され、日常的な処理を簡潔に書くことができます。これらのクラスはコア機能として設計されており、拡張性が高く、必要に応じて再定義可能です。
例えば、Stringクラスは文字列操作に特化したメソッドを多数持ち、Integerは数値計算をサポートします。Arrayは順序付きコレクション、Hashはキーと値のペアを管理し、Rangeは連続した値の範囲を表現します。Symbolは軽量な文字列のようなオブジェクトで、ハッシュキーやメソッド名として頻繁に使用されます。
String, Integer, Array, Hash の使い方
Stringは文字列を扱う基本クラスです。gsubやsplitなどのメソッドで文字列を加工できます。例:
name = "Alice"
greeting = "Hello, #{name}!"
puts greeting # => Hello, Alice!
Integerは整数を表し、演算子やto_fで浮動小数点に変換できます。Arrayはpushやeachで要素を追加・反復処理します。Hashはstoreやeach_pairでキーと値を管理します。これらのクラスは組み込みメソッドが豊富で、再定義も可能です。
Range と Symbol の活用
Rangeは1..5や'a'..'e'のように連続した値を表現し、eachで反復できます。例:
1..5.each { |i| puts i }
# 1 2 3 4 5
Symbolは:nameのようにコロンで始まる文字列で、ハッシュキーやメソッド名として使われます。Symbolは不変オブジェクトで、メモリ効率が高く、比較も高速です。Symbolを使うことでコードの可読性とパフォーマンスを向上させられます。
コア機能の拡張性と再定義可能性
Rubyの組み込みクラスはオープンクラスであるため、必要に応じてメソッドを追加・上書きできます。例えば、Stringクラスにto_snake_caseメソッドを追加する例:
class String
def to_snake_case
gsub(/([A-Z])/, '_\1').downcase.sub(/^_/, '')
end
end
"HelloWorld".to_snake_case # => hello_world
このように、コア機能を拡張することでプロジェクト固有のユーティリティを簡潔に実装できます。ただし、標準クラスの再定義は他のコードに影響を与える可能性があるため、慎重に行う必要があります。ドキュメント化とテストを徹底し、再定義の範囲を明確にしておくことが重要です。
コメント
コメントを投稿