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

Ruby基礎: 文字列・数値・配列

Ruby基礎: 文字列・数値・配列

Ruby基礎と組み込みクラスの概要

Rubyはオブジェクト指向言語で、すべてがオブジェクトです。組み込みクラスとしてString、Integer、Array、Hash、Range、Symbolなどが標準で提供され、日常的な処理を簡潔に書くことができます。これらのクラスはコア機能として設計されており、拡張性が高く、必要に応じて再定義可能です。

例えば、Stringクラスは文字列操作に特化したメソッドを多数持ち、Integerは数値計算をサポートします。Arrayは順序付きコレクション、Hashはキーと値のペアを管理し、Rangeは連続した値の範囲を表現します。Symbolは軽量な文字列のようなオブジェクトで、ハッシュキーやメソッド名として頻繁に使用されます。

String, Integer, Array, Hash の使い方

Stringは文字列を扱う基本クラスです。gsubsplitなどのメソッドで文字列を加工できます。例:

name = "Alice"
greeting = "Hello, #{name}!"
puts greeting  # => Hello, Alice!

Integerは整数を表し、演算子やto_fで浮動小数点に変換できます。Arrayはpusheachで要素を追加・反復処理します。Hashはstoreeach_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

このように、コア機能を拡張することでプロジェクト固有のユーティリティを簡潔に実装できます。ただし、標準クラスの再定義は他のコードに影響を与える可能性があるため、慎重に行う必要があります。ドキュメント化とテストを徹底し、再定義の範囲を明確にしておくことが重要です。

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

コメント