Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
開いたFileオブジェクトを手渡されたとしますが、それがどのモードで開かれたかわかりません (例: 'r'、'w'、'w+')。
File
ファイルが開かれているモードをどのように判断しますか?
私が知る限り、これに対するIO方法はありませんが、何かが欠けている可能性があります。
IO
モードごとに個別のテストを記述する必要がある場合、理想的にはif、ポインターの位置 (またはファイルの内容) を変更しない単一のメソッドまたは 1 つのライナー ステートメントです。
if
次のいずれかを試すことができます。
ファイル記述子に 1 文字を書き込み、シークを解除します。成功した場合は書き込みモードになり、それ以外の場合は例外が発生します。
fstatメソッドの情報を収集してみてください。
fstat
Ruby ファイル オブジェクトには次のメソッドがあります。
File(filename).readable? File(filename).writeable? File(filename).executeable?