【Ruby3.x】CSV::string()メソッドの使い方
stringメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
stringメソッドは、RubyのCSVクラスに属し、CSVデータをファイルに書き込まずに、直接文字列として生成するために実行するメソッドです。このメソッドは、CSV形式のデータが必要なものの、ファイルへの書き込みやファイルからの読み込みを避けたい場合に特に有用です。
具体的には、生成したCSVデータをメモリ上で保持し、プログラム内で利用したり、他のシステムへ文字列として直接渡したりするシナリオで役立ちます。例えば、WebアプリケーションでユーザーにCSVデータをダウンロードさせる際に、一時ファイルを作成せずに直接HTTPレスポンスボディとしてCSV文字列を返すような場合に非常に便利です。
stringメソッドはブロックを受け取り、そのブロック内でCSV::Writerオブジェクトを使用してCSVデータを書き込みます。ブロック内で<<演算子やadd_rowメソッドなどを使って行を追加すると、最終的にブロックが終了した時点で、それらのデータがCSV形式の単一の文字列としてメソッドの戻り値となります。これにより、ファイルI/Oのオーバーヘッドを避けつつ、Ruby標準のCSVライブラリの強力な機能を活用して、配列やハッシュなどのRubyオブジェクトから効率的にCSV形式の文字列を生成できます。
構文(syntax)
1csv_data_string = CSV.string do |csv| 2 csv << ["header1", "header2"] 3 csv << ["data1", "data2"] 4end
引数(parameters)
str_or_io, **options, &block
- str_or_io: CSVデータを表す文字列またはIOオブジェクト
- options: CSVの解析方法などを指定するオプションのハッシュ
- block: 各行を処理するためのブロック
戻り値(return)
String
CSVオブジェクトの文字列表現を返します。