要約
ファイルの検査関数を集めたモジュールです。
注意
FileTest で定義された各メソッドは、システムコールに失敗しても例外を発生させません。真を返した時のみ、返り値は意味をもちます。例えば、
File.exist?('/root/.bashrc')
が false を返しても、それはファイルが存在しないことを保証しません。
目次
- モジュール関数
モジュール関数
blockdev?(file) -> bool[permalink][rdoc]-
ファイルがブロックスペシャルファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
chardev?(file) -> bool[permalink][rdoc]-
ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
directory?(file) -> bool[permalink][rdoc]-
ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
executable?(file) -> bool[permalink][rdoc]-
ファイルがカレントプロセスにより実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
executable_real?(file) -> bool[permalink][rdoc]-
ファイルがカレントプロセスの実ユーザか実グループで実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
exist?(file) -> bool[permalink][rdoc]exists?(file) -> bool-
ファイルが存在する時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
file?(file) -> bool[permalink][rdoc]-
ファイルが通常ファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
grpowned?(file) -> bool[permalink][rdoc]-
ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
identical?(file1, file2) -> bool[permalink][rdoc]-
file1 と file2 が同じファイルを指している時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ruby 1.8.3 以前ではKernel.#test(?-, file1, file2)を使ってください。
open("a", "w") {} p File.identical?("a", "a") #=> true p File.identical?("a", "./a") #=> true File.link("a", "b") p File.identical?("a", "b") #=> true File.symlink("a", "c") p File.identical?("a", "c") #=> true open("d", "w") {} p File.identical?("a", "d") #=> false- [PARAM] file1:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [PARAM] file2:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file1, file2 が既に close されていた場合に発生します。
owned?(file) -> bool[permalink][rdoc]-
ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
pipe?(file) -> bool[permalink][rdoc]-
ファイルが名前つきパイプ(FIFO)である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
readable?(file) -> bool[permalink][rdoc]-
ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
readable_real?(file) -> bool[permalink][rdoc]-
ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
setgid?(file) -> bool[permalink][rdoc]-
ファイルが setgid(2) されている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
setuid?(file) -> bool[permalink][rdoc]-
ファイルが setuid(2) されている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
size(file) -> Integer[permalink][rdoc]-
ファイルのサイズを返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] Errno::EXXX:
- file が存在しない場合、あるいはシステムコールに失敗した場合に発生します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
[SEE_ALSO] FileTest.#size?, FileTest.#zero?
size?(file) -> Integer | nil[permalink][rdoc]-
ファイルのサイズを返します。ファイルが存在しない時やファイルのサイズが0の時には nil を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
[SEE_ALSO] FileTest.#size, FileTest.#zero?
socket?(file) -> bool[permalink][rdoc]-
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
sticky?(file) -> bool[permalink][rdoc]-
ファイルの sticky ビット(chmod(2) 参照)が立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
symlink?(file) -> bool[permalink][rdoc]-
ファイルがシンボリックリンクである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
writable?(file) -> bool[permalink][rdoc]-
ファイルがカレントプロセスにより書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
writable_real?(file) -> bool[permalink][rdoc]-
ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
- [PARAM] file:
- ファイル名を表す文字列を指定します。
zero?(file) -> bool[permalink][rdoc]-
ファイルが存在して、そのサイズが 0 である時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合には false を返します。
- [PARAM] file:
- ファイル名を表す文字列か IO オブジェクトを指定します。
- [EXCEPTION] IOError:
- 指定された IO オブジェクト file が既に close されていた場合に発生します。
[SEE_ALSO] FileTest.#size, FileTest.#size?