Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library _builtin > module Kernel > test

module function Kernel.#test

test(cmd, file) -> bool | Time | Integer | nil

単体のファイルでファイルテストを行います。

[PARAM] cmd:
以下に示す数値リテラルか文字列です(文字列の場合はその先頭の文字だけをコマンドとみなします)。
[PARAM] file:
テストするファイルオブジェクトです。
[RETURN]
下表に特に明記していないものは、真偽値を返します。

以下は cmd として指定できる数値リテラルとその意味です。

?r

ファイルを実効 uid で読むことができる

?w

ファイルに実効 uid で書くことができる

?x

ファイルを実効 uid で実行することができる

?o

ファイルの所有者が実効 uid である

?G

ファイルのグループ所有者が実効 gid である

?R

ファイルを実 uid で読むことができる

?W

ファイルに実 uid で書くことができる

?X

ファイルを実 uid で実行することができる

?O

ファイルの所有者が実 uid である

?e

ファイルが存在する

?z

ファイルサイズが 0 である

?s

ファイルサイズが 0 でない (ファイルサイズを返す、0 ならば nil) -> Integer|nil

?f

ファイルはプレーンファイルである

?d

ファイルはディレクトリである

?l

ファイルはシンボリックリンクである

?p

ファイルは名前つきパイプ(FIFO)である

?S

ファイルはソケットである

?b

ファイルはブロック特殊ファイルである

?c

ファイルはキャラクター特殊ファイルである

?u

ファイルに setuid ビットがセットされている

?g

ファイルに setgid ビットがセットされている

?k

ファイルに sticky ビットがセットされている

?M

ファイルの最終更新時刻を返す -> Time

?A

ファイルの最終アクセス時刻を返す -> Time

?C

ファイルの inode 変更時刻を返す -> Time

test(cmd, file1, file2) -> bool

2ファイル間のファイルテストを行います。

[PARAM] cmd:
以下に示す数値リテラルか文字列です(文字列の場合はその先頭の文字だけをコマンドとみなします)。
[PARAM] file1:
テストするファイルオブジェクトです。
[PARAM] file2:
テストするファイルオブジェクトです。
[RETURN]
真偽値を返します。

以下は cmd として指定できる数値リテラルとその意味です。

?=

ファイル1とファイル2の最終更新時刻が等しい

?>

ファイル1の方がファイル2より最終更新時刻が新しい

?<

ファイル1の方がファイル2より最終更新時刻が古い

?-

ファイル1とファイル2が同一のファイルである