【Ruby3.x】CSV::liberal_parsing?()メソッドの使い方
liberal_parsing?メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
liberal_parsing?メソッドは、CSVクラスにおいて、現在のCSVデータの解析が「厳密でない解析」(liberal parsing)を許可しているかどうかを確認するメソッドです。ここでいう「厳密でない解析」とは、CSVファイルの書式が標準的なルール(RFC 4180など)に完全に準拠していない場合でも、エラーとせずに、ある程度の非標準的な記述や誤りを許容してデータの読み込みを試みる機能のことを指します。
例えば、引用符が正しく閉じられていない行や、フィールド区切り文字の誤った配置、行末に不要な空白がある場合など、標準から逸脱した書式を持つCSVファイルを扱う際に、この機能が有効であれば、データの読み込みを継続できます。
このメソッドは、対象のCSVオブジェクトが「厳密でない解析」モードで初期化されている場合、真(true)を返します。反対に、標準的なルールに厳密に従って解析するモードが設定されている場合は偽(false)を返します。
主に、外部から取得したCSVファイルの内容が不確定で、標準的なCSV形式に厳密に従っていない可能性のあるデータを処理する場合に、現在の解析設定を確認するために利用されます。これにより、不完全なデータでも読み込みを継続できるかどうかの判断や、その後の処理の分岐に役立てることができます。この設定は、CSV.newやCSV.parseなどの初期化メソッドのオプションとしてliberal_parsing: trueを指定することで有効にできます。
構文(syntax)
1require 'csv' 2 3csv_object = CSV.new("data,with,\"embedded\"quotes", liberal_parsing: true) 4csv_object.liberal_parsing?
引数(parameters)
引数なし
引数はありません
戻り値(return)
Boolean
このメソッドは、CSVライブラリが liberal parsing モードで動作しているかどうかを示す真偽値を返します。