【Ruby3.x】CSV::Writer::lineno()メソッドの使い方
linenoメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
linenoメソッドはCSV::Writerクラスにおいて、現在書き込んでいる行の番号を取得するメソッドです。CSVファイルを書き出す際に、何行目まで書き込みが完了したかを示す数値が返されます。この行番号は、ファイルの先頭を1行目として数え始め、各行を書き出すたびにインクリメントされます。例えば、ヘッダー行を書き込んだ後であれば1を返し、その後にデータ行を1行書き込むと2を返します。
このメソッドは、CSVファイルの書き込み処理中に現在の進行状況を確認したい場合や、特定の行数に達した時点で追加の処理を行いたい場合などに利用できます。大規模なCSVファイルを扱う際に、処理の途中でログ出力を行ったり、メモリ使用量を監視したりする際の目安として役立ちます。書き込みエラーが発生した際にも、どの行で問題が発生したかを特定するための情報として活用できます。CSV::Writerクラスは通常、CSV.openメソッドやCSV.generateメソッドに渡されるブロック内で間接的に利用されるため、CSVオブジェクトが書き込みモードで開かれている際にそのインスタンスに対して呼び出すことが一般的です。
構文(syntax)
1require 'csv' 2 3CSV.generate do |writer| 4 line_number = writer.lineno 5end
引数(parameters)
引数なし
引数はありません
戻り値(return)
Integer
CSV::Writer#linenoは、現在処理中の行番号を整数で返します。