singleton method CSV.open
open(filename, mode = "rb", options = Hash.new) {|csv| ... } -> nil
open(filename, mode = "rb", options = Hash.new) -> CSV
open(filename, options = Hash.new) {|csv| ... } -> nil
open(filename, options = Hash.new) -> CSV
-
このメソッドは IO オブジェクトをオープンして CSV でラップします。 これは CSV ファイルを書くための主要なインターフェイスとして使うことを意図しています。
このメソッドは IO.open と同じように動きます。ブロックが与えられた場合は ブロックに CSV オブジェクトを渡し、ブロック終了時にそれをクローズします。 ブロックが与えられなかった場合は CSV オブジェクトを返します。 この挙動は Ruby1.8 の CSV ライブラリとは違います。Ruby1.8 では行をブロックに渡します。 Ruby1.9 では CSV.foreach を使うとブロックに行を渡します。
データが Encoding.default_external と異なる場合は、mode にエンコー ディングを指定する文字列を埋め込まなければなりません。データをどのよう に解析するか決定するために CSV ライブラリはユーザが mode に指定したエン コーディングをチェックします。"rb:UTF-32BE:UTF-8" のように mode を指定 すると UTF-32BE のデータを読み込んでUTF-8 に変換してから解析します。
CSV オブジェクトは多くのメソッドを IO や File に委譲します。
- IO#binmode
- IO#binmode?
- IO#close
- IO#close_read
- IO#close_write
- IO#closed?
- IO#eof
- IO#eof?
- IO#external_encoding
- IO#fcntl
- IO#fileno
- File#flock
- IO#flush
- IO#fsync
- IO#internal_encoding
- IO#ioctl
- IO#isatty
- File#path
- IO#pid
- IO#pos
- IO#pos=
- IO#reopen
- IO#seek
- IO#stat
- StringIO#string
- IO#sync
- IO#sync=
- IO#tell
- IO#to_i
- IO#to_io
- File#truncate
- IO#tty?
class CSV