オープンして、IO(Fileを含む)クラスのインスタンスを返します。オブジェクトを引数としてブロックを実行します。ブロックの終了時や例外によりブロックを脱出するとき、ファイルをクローズします。ブロックを評価した結果を返します。子プロセスを生成し、その子プロセスとの間のパイプ(IOオブジェクト)を返します。パイプラインを生成する機能はありません)。file:ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。mode_enc:モード・エンコーディングを文字列か定数の論理和で指定します。引数のように、ファイルを生成する場合のファイルのパーミッションを整数で指定します。Errno::EXXX:ファイルのオープンに失敗した場合に発生します。モジュールの定数の論理和)を組み合わせて指定します。以下の三つのうちのいずれかです。RDONLYファイルを読み込みモードでオープンします。WRONLY|CREAT|TRUNCファイルを書き込みモードでオープンします。オープン時にファイルがすでに存在していればその内容を空にします。WRONLY|CREAT|APPENDファイルを書き込みモードでオープンします。ファイルの末尾に追加されます。ファイルオープン中にファイルのサイズが小さくなってもその末尾に出力されます。"r+"ファイルの読み書き位置は先頭にセットされます。同じですが、オープン時にファイルがすでに存在していればその内容を空にします。"a+""r+"と同様、ファイルの読み込み位置は先頭にセットされますが、書き込みは常にファイル末尾に行われます。