【Ruby3.x】IO::new()メソッドの使い方
newメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
newメソッドは、OSが管理する入出力チャネルを識別する整数値であるファイルディスクリプタを使って、新しいIOオブジェクトを生成するメソッドです。ファイルディスクリプタとは、ファイルやソケットといった入出力リソースをOSが管理するために用いる識別子のことで、主に整数値で表されます。このメソッドは、引数としてファイルディスクリプタ(fd)を必須で受け取ります。
さらに、オプションでファイルのオープンモード(mode)や、パーミッションなどの詳細な設定(options)を指定することも可能です。modeには、ファイルを読み込み専用で開く"r"や、書き込み専用で開く"w"といった文字列のほか、エンコーディングを指定する"r:UTF-8"のような形式も使用できます。IO.newは、すでに開かれているファイルディスクリプタに対してRubyのIO操作を可能にしたい場合や、より低レベルなファイル操作が必要な場面で利用されます。通常、ファイルを操作する際にはFile.openメソッドなどがより手軽に利用されますが、このメソッドは既存のディスクリプタを直接操作したい場合に強力な選択肢となります。
構文(syntax)
1io_object = IO.new(1, "w")
引数(parameters)
fd, mode = 'r', perm = 0666, opt = {}
- fd: ファイルディスクリプタまたはファイルパスを表す整数または文字列
- mode = 'r': ファイルのオープンモードを指定する文字列(例: 'r', 'w', 'a', 'r+')
- perm = 0666: ファイル作成時のパーミッションを指定する整数(モードが'w'または'a'の場合)
- opt = {}: その他のオプションを指定するハッシュ
戻り値(return)
IO
IO.newは、指定されたファイルパスまたはファイルディスクリプタを基に、新しいIOオブジェクトを生成します。このIOオブジェクトは、ファイルへの読み書き操作を行うためのインターフェースを提供します。