クラス
- Dir (30)
-
Errno
:: EXXX (3) - File (32)
- IO (62)
- SystemCallError (5)
モジュール
- FileTest (1)
- Kernel (26)
- Process (18)
-
Process
:: GID (2) -
Process
:: Sys (10) -
Process
:: UID (2)
キーワード
- << (1)
- === (1)
- E2BIG (1)
- EACCES (1)
- EADDRINUSE (1)
- EADDRNOTAVAIL (1)
- EADV (1)
- EAFNOSUPPORT (1)
- EAGAIN (1)
- EALREADY (1)
- EAUTH (1)
- EBADE (1)
- EBADF (1)
- EBADFD (1)
- EBADMSG (1)
- EBADR (1)
- EBADRPC (1)
- EBADRQC (1)
- EBADSLT (1)
- EBFONT (1)
- EBUSY (1)
- ECANCELED (1)
- ECAPMODE (1)
- ECHILD (1)
- ECHRNG (1)
- ECOMM (1)
- ECONNABORTED (1)
- ECONNREFUSED (1)
- ECONNRESET (1)
- EDEADLK (1)
- EDEADLOCK (1)
- EDESTADDRREQ (1)
- EDOM (1)
- EDOOFUS (1)
- EDOTDOT (1)
- EDQUOT (1)
- EEXIST (1)
- EFAULT (1)
- EFBIG (1)
- EFTYPE (1)
- EHOSTDOWN (1)
- EHOSTUNREACH (1)
- EHWPOISON (1)
- EIDRM (1)
- EILSEQ (1)
- EINPROGRESS (1)
- EINTR (1)
- EINVAL (1)
- EIO (1)
- EIPSEC (1)
- EISCONN (1)
- EISDIR (1)
- EISNAM (1)
- EKEYEXPIRED (1)
- EKEYREJECTED (1)
- EKEYREVOKED (1)
- EL2HLT (1)
- EL2NSYNC (1)
- EL3HLT (1)
- EL3RST (1)
- ELIBACC (1)
- ELIBBAD (1)
- ELIBEXEC (1)
- ELIBMAX (1)
- ELIBSCN (1)
- ELNRNG (1)
- ELOOP (1)
- EMEDIUMTYPE (1)
- EMFILE (1)
- EMLINK (1)
- EMSGSIZE (1)
- EMULTIHOP (1)
- ENAMETOOLONG (1)
- ENAVAIL (1)
- ENEEDAUTH (1)
- ENETDOWN (1)
- ENETRESET (1)
- ENETUNREACH (1)
- ENFILE (1)
- ENOANO (1)
- ENOATTR (1)
- ENOBUFS (1)
- ENOCSI (1)
- ENODATA (1)
- ENODEV (1)
- ENOENT (1)
- ENOEXEC (1)
- ENOKEY (1)
- ENOLCK (1)
- ENOLINK (1)
- ENOMEDIUM (1)
- ENOMEM (1)
- ENOMSG (1)
- ENONET (1)
- ENOPKG (1)
- ENOPROTOOPT (1)
- ENOSPC (1)
- ENOSR (1)
- ENOSTR (1)
- ENOSYS (1)
- ENOTBLK (1)
- ENOTCAPABLE (1)
- ENOTCONN (1)
- ENOTDIR (1)
- ENOTEMPTY (1)
- ENOTNAM (1)
- ENOTRECOVERABLE (1)
- ENOTSOCK (1)
- ENOTSUP (1)
- ENOTTY (1)
- ENOTUNIQ (1)
- ENXIO (1)
- EOPNOTSUPP (1)
- EOVERFLOW (1)
- EOWNERDEAD (1)
- EPERM (1)
- EPFNOSUPPORT (1)
- EPIPE (1)
- EPROCLIM (1)
- EPROCUNAVAIL (1)
- EPROGMISMATCH (1)
- EPROGUNAVAIL (1)
- EPROTO (1)
- EPROTONOSUPPORT (1)
- EPROTOTYPE (1)
- ERANGE (1)
- EREMCHG (1)
- EREMOTE (1)
- EREMOTEIO (1)
- ERESTART (1)
- ERFKILL (1)
- EROFS (1)
- ERPCMISMATCH (1)
- ESHUTDOWN (1)
- ESOCKTNOSUPPORT (1)
- ESPIPE (1)
- ESRCH (1)
- ESRMNT (1)
- ESTALE (1)
- ESTRPIPE (1)
- ETIME (1)
- ETIMEDOUT (1)
- ETOOMANYREFS (1)
- ETXTBSY (1)
- EUCLEAN (1)
- EUNATCH (1)
- EUSERS (1)
- EWOULDBLOCK (1)
- EXDEV (1)
- EXFULL (1)
- EXXX (1)
- Errno (2)
- NOERROR (1)
- SystemCallError (1)
- ` (1)
- atime (2)
- binmode (1)
- birthtime (2)
- chdir (4)
- children (2)
- chmod (2)
- chown (2)
- chroot (1)
- close (1)
-
close
_ read (1) -
close
_ write (1) - ctime (2)
- daemon (1)
- delete (2)
-
each
_ child (4) - egid= (1)
- eid= (2)
- entries (2)
- errno (1)
- euid= (1)
- exec (4)
- fcntl (1)
- flock (1)
- flush (1)
-
for
_ fd (1) - foreach (6)
- fsync (1)
- ftype (1)
- getpgid (1)
- getpgrp (1)
- getpriority (1)
- getrlimit (1)
- gets (1)
- getwd (1)
- gid= (1)
-
grant
_ privilege (2) - groups (1)
- groups= (1)
- kill (1)
- lchmod (1)
- link (1)
- lstat (2)
- lutime (1)
- mkdir (1)
- mtime (2)
- new (9)
- open (10)
- p (1)
- pipe (8)
- popen (14)
- pread (1)
- print (2)
- printf (3)
- putc (2)
- puts (2)
- pwd (1)
- pwrite (1)
- read (5)
-
read
_ nonblock (1) - readline (1)
- readlines (4)
- readlink (1)
- rename (1)
- reopen (3)
- rmdir (1)
- seek (1)
- select (1)
- setegid (1)
- seteuid (1)
- setgid (1)
- setpgid (1)
- setpgrp (1)
- setpriority (1)
- setregid (1)
- setresgid (1)
- setresuid (1)
- setreuid (1)
- setrgid (1)
- setrlimit (2)
- setruid (1)
- setsid (1)
- setuid (1)
- size (2)
- spawn (4)
- stat (2)
- symlink (1)
- syscall (1)
- sysopen (1)
- sysread (1)
- sysseek (1)
- system (4)
- syswrite (1)
- truncate (2)
- uid= (1)
- unlink (2)
- utime (1)
- warn (1)
- write (1)
-
write
_ nonblock (1)
検索結果
先頭5件
-
Dir
. foreach(path) {|file| . . . } -> nil (25.0) -
ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator] オブジェクトを返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise** `Errno::EXXX`... -
Dir
. foreach(path , encoding: Encoding . find("filesystem")) -> Enumerator (25.0) -
ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator] オブジェクトを返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise** `Errno::EXXX`... -
Dir
. foreach(path , encoding: Encoding . find("filesystem")) {|file| . . . } -> nil (25.0) -
ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。
ディレクトリ path の各エントリを表す文字列を引数として、ブロックを評価します。
ブロックが与えられなかった場合、各エントリを文字列として保持する
[c:Enumerator] オブジェクトを返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise** `Errno::EXXX`... -
Dir
. getwd -> String (25.0) -
カレントディレクトリのフルパスを文字列で返します。
カレントディレクトリのフルパスを文字列で返します。
- **raise** `Errno::EXXX` -- カレントディレクトリの取得に失敗した場合に発生します(が、普通は失敗することはありません)。
```ruby title="例"
p Dir.chdir("/tmp") # => 0
p Dir.getwd # => "/tmp"
``` -
Dir
. mkdir(path , mode = 0777) -> 0 (25.0) -
path で指定された新しいディレクトリを作ります。パーミッションは mode で指定された値に umask をかけた値 (mode & ~umask) になります。 [man:mkdir(2)] も参照して下さい。 ディレクトリの作成に成功すれば 0 を返します。
path で指定された新しいディレクトリを作ります。パーミッションは
mode で指定された値に umask をかけた値 (mode & ~umask) になります。
[man:mkdir(2)] も参照して下さい。
ディレクトリの作成に成功すれば 0 を返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `mode` -- ディレクトリのモードを整数で与えます。
- **raise** `Errno::EXXX` -- ディレクトリの作成に失敗した場合に発生します。
```ruby title="例"
p Fil... -
Dir
. new(path) -> Dir (25.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise** `Errno::EXXX` -- オープンに失敗した場合に発生します。
```ruby title="例"
require 'tmpdir'
Dir.mktmpdir... -
Dir
. new(path , encoding: Encoding . find("filesystem")) -> Dir (25.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
- **raise** `Errno::EXXX` -- オープンに失敗した場合に発生します。
```ruby title="例"
require 'tmpdir'
Dir.mktmpdir... -
Dir
. open(path) -> Dir (25.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを引数としてブロックを実行します。ブロックの実行が終了すると、ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
... -
Dir
. open(path) {|dir| . . . } -> object (25.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを引数としてブロックを実行します。ブロックの実行が終了すると、ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
... -
Dir
. open(path , encoding: Encoding . find("filesystem")) -> Dir (25.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを引数としてブロックを実行します。ブロックの実行が終了すると、ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
... -
Dir
. open(path , encoding: Encoding . find("filesystem")) {|dir| . . . } -> object (25.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを引数としてブロックを実行します。ブロックの実行が終了すると、ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **param** `encoding` -- ディレクトリのエンコーディングを文字列か
[c:Encoding] オブジェクトで指定します。省略した場合はファイルシステムのエンコーディングと同じになります。
... -
Dir
. pwd -> String (25.0) -
カレントディレクトリのフルパスを文字列で返します。
カレントディレクトリのフルパスを文字列で返します。
- **raise** `Errno::EXXX` -- カレントディレクトリの取得に失敗した場合に発生します(が、普通は失敗することはありません)。
```ruby title="例"
p Dir.chdir("/tmp") # => 0
p Dir.getwd # => "/tmp"
``` -
Dir
. rmdir(path) -> 0 (25.0) -
ディレクトリを削除します。ディレクトリは空でなければいけません。ディレクトリの削除に成功すれば 0 を返します。
ディレクトリを削除します。ディレクトリは空でなければいけません。ディレクトリの削除に成功すれば 0 を返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **raise** `Errno::EXXX` -- 失敗した場合に発生します。
```ruby title="例"
Dir.delete("/tmp/hoge-jbrYBh.tmp")
``` -
Dir
. unlink(path) -> 0 (25.0) -
ディレクトリを削除します。ディレクトリは空でなければいけません。ディレクトリの削除に成功すれば 0 を返します。
ディレクトリを削除します。ディレクトリは空でなければいけません。ディレクトリの削除に成功すれば 0 を返します。
- **param** `path` -- ディレクトリのパスを文字列で指定します。
- **raise** `Errno::EXXX` -- 失敗した場合に発生します。
```ruby title="例"
Dir.delete("/tmp/hoge-jbrYBh.tmp")
``` -
Errno (25.0)
-
システムコールのエラーに対応する例外を集めたモジュールです。
システムコールのエラーに対応する例外を集めたモジュールです。
- **SEE** [c:SystemCallError], [c:Errno::EXXX] -
File
# atime -> Time (25.0) -
最終アクセス時刻を Time オブジェクトとして返します。
最終アクセス時刻を Time オブジェクトとして返します。
- **raise** `IOError` -- 自身が close されている場合に発生します。
- **raise** `Errno::EXXX` -- ファイルの時刻の取得に失敗した場合に発生します。
```ruby title="例:"
IO.write("testfile", "test")
p File.open("testfile") { |f| f.atime } # => 2017-12-21 22:58:17 +0900
```
- **SEE** [m:File#lstat], [m:File#ctim... -
File
# birthtime -> Time (25.0) -
作成された時刻を Time オブジェクトとして返します。
作成された時刻を Time オブジェクトとして返します。
- **raise** `IOError` -- 自身が close されている場合に発生します。
- **raise** `Errno::EXXX` -- ファイルの時刻の取得に失敗した場合に発生します。
- **raise** `NotImplementedError` -- Windows のような birthtime のない環境で発生します。
```ruby
p File.new("testfile").birthtime # => Wed Apr 09 08:53:14 CDT 2003
```
- **SEE*... -
File
# ctime -> Time (25.0) -
状態が最後に変更された時刻を Time オブジェクトとして返します。状態の変更とは chmod などによるものです。
状態が最後に変更された時刻を Time オブジェクトとして返します。状態の変更とは chmod などによるものです。
- **raise** `IOError` -- 自身が close されている場合に発生します。
- **raise** `Errno::EXXX` -- ファイルの時刻の取得に失敗した場合に発生します。
```ruby title="例:"
IO.write("testfile", "test")
p File.open("testfile") { |f| f.ctime } # => 2017-12-21 22:58:17 +0900
```
- **SEE**... -
File
# lstat -> File :: Stat (25.0) -
ファイルの状態を含む [c:File::Stat] オブジェクトを生成して返します。 シンボリックリンクに関してリンクそのものの情報を返します。 [man:lstat(2)] を実装していないシステムでは、[m:IO#stat]と同じです。
ファイルの状態を含む [c:File::Stat] オブジェクトを生成して返します。
シンボリックリンクに関してリンクそのものの情報を返します。
[man:lstat(2)] を実装していないシステムでは、[m:IO#stat]と同じです。
- **raise** `Errno::EXXX` -- 失敗した場合に発生します。
- **raise** `IOError` -- 自身が close されている場合に発生します。
```ruby title="例"
# testlink は testfile のシンボリックリンク
File.open("testlink") do |f|
... -
File
# mtime -> Time (25.0) -
最終更新時刻を Time オブジェクトとして返します。
最終更新時刻を Time オブジェクトとして返します。
- **raise** `IOError` -- 自身が close されている場合に発生します。
- **raise** `Errno::EXXX` -- ファイルの時刻の取得に失敗した場合に発生します。
```ruby title="例:"
IO.write("testfile", "test")
p File.open("testfile") { |f| f.mtime } # => 2017-12-21 22:58:17 +0900
```
- **SEE** [m:File#lstat], [m:File#atime]... -
File
# size -> Integer (25.0) -
ファイルのサイズを返します。
ファイルのサイズを返します。
```ruby title="例"
File.open("/dev/null") do |f|
p f.size # => 0
end
```
- **raise** `IOError` -- 自身が close されている場合に発生します。
- **raise** `Errno::EXXX` -- 失敗した場合に発生します。
- **SEE** [m:File#lstat] -
File
. atime(filename) -> Time (25.0) -
最終アクセス時刻を返します。
最終アクセス時刻を返します。
- **param** `filename` -- ファイル名を表す文字列か IO オブジェクトを指定します。
- **raise** `Errno::EXXX` -- ファイルの時刻の取得に失敗した場合に発生します。
```ruby title="例"
p File.atime(__FILE__) # => 2017-11-28 22:38:44 +0900
``` -
File
. birthtime(filename) -> Time (25.0) -
作成された時刻を返します。
作成された時刻を返します。
- **param** `filename` -- ファイル名を表す文字列か IO オブジェクトを指定します。
- **raise** `Errno::EXXX` -- ファイルの時刻の取得に失敗した場合に発生します。
- **raise** `NotImplementedError` -- Windows のような birthtime のない環境で発生します。
```ruby title="例"
p File.birthtime("testfile") # => Wed Apr 09 08:53:13 CDT 2003
``` -
File
. chmod(mode , *filename) -> Integer (25.0) -
ファイルのモードを mode に変更します。モードを変更したファイルの数を返します。
ファイルのモードを mode に変更します。モードを変更したファイルの数を返します。
- **param** `filename` -- ファイル名を表す文字列を指定します。
- **param** `mode` -- [man:chmod(2)] と同様に整数で指定します。
- **raise** `Errno::EXXX` -- モードの変更に失敗した場合に発生します。 -
File
. chown(owner , group , *filename) -> Integer (25.0) -
ファイルのオーナーとグループを変更します。スーパーユーザだけがファイルのオーナーとグループを変更できます。変更を行ったファイルの数を返します。
ファイルのオーナーとグループを変更します。スーパーユーザだけがファイルのオーナーとグループを変更できます。変更を行ったファイルの数を返します。
- **param** `filename` -- ファイル名を表す文字列を指定します。
- **param** `owner` -- [man:chown(2)] と同様に数値で指定します。nil または -1 を指定することで、オーナーを維持できます。
- **param** `group` -- [man:chown(2)] と同様に数値で指定します。nil または -1 を指定することで、グループを維持できます。
- **raise*... -
File
. ctime(filename) -> Time (25.0) -
状態が最後に変更された時刻を返します。 状態の変更とは chmod などによるものです。
状態が最後に変更された時刻を返します。
状態の変更とは chmod などによるものです。
- **param** `filename` -- ファイル名を表す文字列か IO オブジェクトを指定します。
- **raise** `Errno::EXXX` -- ファイルの時刻の取得に失敗した場合に発生します。
```ruby title="例:"
IO.write("testfile", "test")
p File.ctime("testfile") # => 2017-11-30 22:40:49 +0900
File.chmod(0755, "testfile")
p File.c... -
File
. ftype(filename) -> String (25.0) -
ファイルのタイプを表す文字列を返します。
ファイルのタイプを表す文字列を返します。
文字列は以下のうちのいずれかです。File.lstat(filename).ftype と同じです。
シンボリックリンクに対して "link" を返します。
- "file"
- "directory"
- "characterSpecial"
- "blockSpecial"
- "fifo"
- "link"
- "socket"
- "unknown"
- **param** `filename` -- ファイル名を表す文字列を指定します。
- **raise** `Errno::EXXX` -- 情報の取得に失敗した場合に発生します。... -
File
. lchmod(mode , *filename) -> Integer (25.0) -
[m:File.chmod] と同様ですが、シンボリックリンクに関してリンクそのもののモードを変更します。
[m:File.chmod] と同様ですが、シンボリックリンクに関してリンクそのもののモードを変更します。
- **param** `filename` -- ファイル名を表す文字列を指定します。
- **param** `mode` -- [man:chmod(2)] と同様に整数で指定します。
- **raise** `NotImplementedError` -- [man:lchmod(2)] を実装していないシステムでこのメソッドを呼び出すと発生します。
- **raise** `Errno::EXXX` -- モードの変更に失敗した場合に発生します。
```ruby t... -
File
. lstat(filename) -> File :: Stat (25.0) -
[m:File.stat]と同様ですが、シンボリックリンクに関してリンクそのものの情報を File::Stat として返します。[man:lstat(2)] を実装していないシステムでは、File.stat と同じです。
[m:File.stat]と同様ですが、シンボリックリンクに関してリンクそのものの情報を File::Stat として返します。[man:lstat(2)] を実装していないシステムでは、File.stat と同じです。
- **param** `filename` -- ファイル名を表す文字列を指定します。
- **raise** `Errno::EXXX` -- 情報の取得に失敗した場合に発生します。
```ruby title="例"
# link.rb は t.rb のシンボリックリンク
p File.lstat("link.rb") == File.stat("t.rb") ... -
File
. lutime(atime , mtime , *filename) -> Integer (25.0) -
ファイルの最終アクセス時刻と更新時刻を変更します。 シンボリックリンクに対しては [m:File.utime] と違って、シンボリックそのものを変更します。
ファイルの最終アクセス時刻と更新時刻を変更します。
シンボリックリンクに対しては [m:File.utime] と違って、シンボリックそのものを変更します。
- **param** `atime` -- 最終アクセス時刻を [c:Time] か、起算時からの経過秒数を数値で指定します。
- **param** `mtime` -- 更新時刻を [c:Time] か、起算時からの経過秒数を数値で指定します。
- **param** `filename` -- ファイル名を表す文字列を指定します。複数指定できます。
- **return** -- 変更したファイルの数を返します。
- ... -
File
. mtime(filename) -> Time (25.0) -
最終更新時刻を返します。
最終更新時刻を返します。
- **param** `filename` -- ファイル名を表す文字列か IO オブジェクトを指定します。
- **raise** `Errno::EXXX` -- ファイルの時刻の取得に失敗した場合に発生します。
```ruby title="例"
p File.mtime(__FILE__) # => 2017-12-03 03:16:22 +0900
``` -
File
. new(path , mode = "r" , perm = 0666 , **opts) -> File (25.0) -
path で指定されるファイルをオープンし、[c:File] オブジェクトを生成して返します。
path で指定されるファイルをオープンし、[c:File] オブジェクトを生成して返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
[c:File] オブジェクトを生成して返します。[m:IO.new] と同じです。
- **param** `path` -- ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
- **param** `mode` -- モードを文字列か定数の論理和で指定します。[m:Kernel?.open] と同じです。
- **param** `perm` -- ファイルを生成する場合... -
File
. open(path , mode = "r" , perm = 0666 , **opts) -> File (25.0) -
path で指定されるファイルをオープンし、[c:File] オブジェクトを生成して返します。
path で指定されるファイルをオープンし、[c:File] オブジェクトを生成して返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
[c:File] オブジェクトを生成して返します。[m:IO.open] と同じです。
ブロックを指定して呼び出した場合は、File オブジェクトを引数としてブロックを実行します。ブロックの実行が終了すると、ファイルは自動的にクローズされます。ブロックの実行結果を返します。
- **param** `path` -- ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
- **pa... -
File
. open(path , mode = "r" , perm = 0666 , **opts) {|file| . . . } -> object (25.0) -
path で指定されるファイルをオープンし、[c:File] オブジェクトを生成して返します。
path で指定されるファイルをオープンし、[c:File] オブジェクトを生成して返します。
path が整数の場合はファイルディスクリプタとして扱い、それに対応する
[c:File] オブジェクトを生成して返します。[m:IO.open] と同じです。
ブロックを指定して呼び出した場合は、File オブジェクトを引数としてブロックを実行します。ブロックの実行が終了すると、ファイルは自動的にクローズされます。ブロックの実行結果を返します。
- **param** `path` -- ファイルを文字列で指定します。整数を指定した場合はファイルディスクリプタとして扱います。
- **pa... -
File
. readlink(path) -> String (25.0) -
シンボリックリンクのリンク先のパスを文字列で返します。
シンボリックリンクのリンク先のパスを文字列で返します。
- **param** `path` -- シンボリックリンクを表す文字列を指定します。
- **raise** `Errno::EXXX` -- 指定された path がシンボリックリンクでない場合や、リンクの読み取りに失敗した場合に発生します。
```ruby title="例:"
IO.write("testfile", "test")
p File.symlink("testfile", "testlink") # => 0
p File.readlink("testlink") # => "test... -
File
. stat(filename) -> File :: Stat (25.0) -
filename の情報を含む [c:File::Stat] オブジェクトを生成して返します。
filename の情報を含む [c:File::Stat] オブジェクトを生成して返します。
- **param** `filename` -- ファイル名を表す文字列を指定します。
- **raise** `Errno::EXXX` -- 情報の取得に失敗した場合に発生します。
```ruby title="例"
p File.stat("testfile").class # => File::Stat
p File.stat("testfile").mtime # => 2017-12-10 01:13:56 +0900
```
- **SEE** [m:IO#stat], [... -
File
. utime(atime , mtime , *filename) -> Integer (25.0) -
ファイルの最終アクセス時刻と更新時刻を変更します。 シンボリックリンクに対しては [m:File.lutime] と違って、シンボリックのリンク先を変更します。
ファイルの最終アクセス時刻と更新時刻を変更します。
シンボリックリンクに対しては [m:File.lutime] と違って、シンボリックのリンク先を変更します。
- **param** `atime` -- 最終アクセス時刻を [c:Time] か、起算時からの経過秒数を数値で指定します。
- **param** `mtime` -- 更新時刻を [c:Time] か、起算時からの経過秒数を数値で指定します。
- **param** `filename` -- ファイル名を表す文字列を指定します。複数指定できます。
- **return** -- 変更したファイルの数を返します。
... -
FileTest
. # size(file) -> Integer (25.0) -
ファイルのサイズを返します。
ファイルのサイズを返します。
- **param** `file` -- ファイル名を表す文字列か IO オブジェクトを指定します。
- **raise** `Errno::EXXX` -- file が存在しない場合、あるいはシステムコールに失敗した場合に発生します。
- **raise** `IOError` -- 指定された IO オブジェクト file が既に close されていた場合に発生します。
- **SEE** [m:FileTest?.size?], [m:FileTest?.zero?]
```ruby title="例"
p FileTest.size('/... -
IO
# <<(object) -> self (25.0) -
object を出力します。object が文字列でない時にはメソッド to_s を用いて文字列に変換します。
object を出力します。object が文字列でない時にはメソッド to_s を用いて文字列に変換します。
以下のような << の連鎖を使うことができます。
```ruby
STDOUT << 1 << " is a " << Integer << "\n"
```
- **param** `object` -- 出力したいオブジェクトを与えます。
- **raise** `Errno::EXXX` -- 出力に失敗した場合に発生します。 -
IO
# binmode -> self (25.0) -
ストリームをバイナリモードにします。MSDOS などバイナリモードの存在する OS でのみ有効です。そうでない場合このメソッドは何もしません。
ストリームをバイナリモードにします。MSDOS などバイナリモードの存在する OS でのみ有効です。そうでない場合このメソッドは何もしません。
バイナリモードから通常のモードに戻す方法は再オープンしかありません。
- **raise** `Errno::EXXX` -- モードの変更に失敗した場合に発生します。
```ruby title="例"
IO.open(IO.sysopen("testfile", "w+")) do |io|
p io.binmode? # => false
p io.binmode # => #<IO:fd 8>
p io.binmode? ... -
IO
# close -> nil (25.0) -
入出力ポートをクローズします。
入出力ポートをクローズします。
以後このポートに対して入出力を行うと例外 [c:IOError] が発生します。ガーベージコレクトの際にはクローズされていない IO ポートはクローズされます。
self がパイプでプロセスにつながっていれば、そのプロセスの終了を待ち合わせます。
既に close されていた場合には単に無視されます。
- **raise** `Errno::EXXX` -- close に失敗した場合に発生します。
```ruby title="例"
IO.write("testfile", "test")
f = File.open("testfile")
p f.... -
IO
# close _ read -> nil (25.0) -
読み込み用の IO を close します。主にパイプや読み書き両用に作成した IO オブジェクトで使用します。
読み込み用の IO を close します。主にパイプや読み書き両用に作成した IO オブジェクトで使用します。
既に close されていた場合には単に無視されます。
- **raise** `IOError` -- 自身が読み込み用にオープンされていなければ発生します。
- **raise** `Errno::EXXX` -- close に失敗した場合に発生します。
```ruby title="例"
IO.popen("/bin/sh","r+") do |f|
f.close_read
# f.readlines # => IOError: not opened f... -
IO
# close _ write -> nil (25.0) -
書き込み用の IO を close します。
書き込み用の IO を close します。
既に close されていた場合には単に無視されます。
- **raise** `IOError` -- 自身が書き込み用にオープンされていなければ発生します。
- **raise** `Errno::EXXX` -- close に失敗した場合に発生します。
```ruby title="例"
f = IO.popen("/bin/sh","r+") do |f|
f.close_write
# f.print "nowhere" # => IOError: not opened for writing
end
```
- *... -
IO
# fcntl(cmd , arg = 0) -> Integer (25.0) -
IOに対してシステムコール fcntl を実行します。 機能の詳細は [man:fcntl(2)] を参照してください。 fcntl(2) が返した整数を返します。
IOに対してシステムコール fcntl を実行します。
機能の詳細は [man:fcntl(2)] を参照してください。
fcntl(2) が返した整数を返します。
- **param** `cmd` -- IO に対するコマンドを、添付ライブラリ [lib:fcntl] が提供している定数で指定します。
- **param** `arg` -- cmd に対する引数を整数、文字列、booleanのいずれかで指定します。
整数の時にはその値を [man:fcntl(2)] に渡します。
文字列の場合には Array#pack した構造体だとみな... -
IO
# flush -> self (25.0) -
IO ポートの内部バッファをフラッシュします。
IO ポートの内部バッファをフラッシュします。
このメソッドを使ったとき、即座にメタデータを更新することは保証されません(特にWindowsで)。
即座にメタデータも更新したいときは [m:IO#fsync] を使います。
- **raise** `IOError` -- 自身が書き込み用にオープンされていなければ発生します。
- **raise** `Errno::EXXX` -- [man:fflush(3)] が失敗した場合に発生します。
```ruby title="例"
require "tempfile"
Tempfile.open("testtmpfile") do ... -
IO
# fsync -> 0 (25.0) -
書き込み用の IO に対して、システムコール [man:fsync(2)] を実行します。[m:IO#flush] を行ったあと、(OSレベルで)まだディスクに書き込まれていないメモリ上にあるデータをディスクに書き出します。
書き込み用の IO に対して、システムコール [man:fsync(2)]
を実行します。[m:IO#flush] を行ったあと、(OSレベルで)まだディスクに書き込まれていないメモリ上にあるデータをディスクに書き出します。
成功すれば 0 を返します。
[man:fsync(2)] がサポートされていない場合は nil を返します。
- **raise** `Errno::EXXX` -- 失敗した場合に発生します。
- **raise** `IOError` -- 既に close されている場合に発生します。 -
IO
# pread(maxlen , offset , outbuf = "") -> string (25.0) -
[man:pread(2)] システムコールを使ってファイルポインタを変更せずに、また現在のファイルポインタに依存せずにmaxlenバイト読み込みます。
[man:pread(2)] システムコールを使ってファイルポインタを変更せずに、また現在のファイルポインタに依存せずにmaxlenバイト読み込みます。
[m:IO#seek]と[m:IO#read]の組み合わせと比べて、アトミックな操作になるという点が優れていて、複数スレッド/プロセスから同じIOオブジェクトを様々な位置から読み込むことを許します。
どのユーザー空間のIO層のバッファリングもバイパスします。
- **param** `maxlen` -- 読み込むバイト数を指定します。
- **param** `offset` -- 読み込み開始位置のファイルの先頭からのオフセットを指... -
IO
# print(*arg) -> nil (25.0) -
引数を IO ポートに順に出力します。引数を省略した場合は、[m:$_] を出力します。
引数を IO ポートに順に出力します。引数を省略した場合は、[m:$_] を出力します。
- **param** `arg` -- [m:Kernel?.print] と同じです。
- **raise** `IOError` -- 自身が書き込み用にオープンされていなければ発生します。
- **raise** `Errno::EXXX` -- 出力に失敗した場合に発生します。
```ruby title="例"
$stdout.print("This is ", 100, " percent.\n") # => This is 100 percent.
```
- **SEE** ... -
IO
# printf(format , *arg) -> nil (25.0) -
C 言語の printf と同じように、format に従い引数を文字列に変換して、self に出力します。
C 言語の printf と同じように、format に従い引数を文字列に変換して、self に出力します。
第一引数に IO を指定できないこと、引数を省略できないことを除けば [m:Kernel?.printf] と同じです。
- **param** `format` -- [m:Kernel?.printf] と同じです。[d:print_format] を参照してください。
- **param** `arg` -- [m:Kernel?.printf] と同じです。
- **raise** `IOError` -- 自身が書き込み用にオープンされていなければ発生します。
-... -
IO
# putc(ch) -> object (25.0) -
文字 ch を self に出力します。 引数の扱いは [m:Kernel?.putc] と同じです。詳細はこちらを参照してください。ch を返します。
文字 ch を self に出力します。
引数の扱いは [m:Kernel?.putc] と同じです。詳細はこちらを参照してください。ch を返します。
- **param** `ch` -- 出力したい文字を、文字列か文字コード(整数)で与えます。
- **raise** `IOError` -- 自身が書き込み用にオープンされていなければ発生します。
- **raise** `Errno::EXXX` -- 出力に失敗した場合に発生します。
```ruby title="例"
$stdout.putc "A" # => A
$stdout.putc 65 # => A
```
... -
IO
# puts(*obj) -> nil (25.0) -
各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは [m:Kernel?.puts] と同じです。詳細はこちらを参照してください。
各 obj を self に出力し、それぞれの後に改行を出力します。
引数の扱いは [m:Kernel?.puts] と同じです。詳細はこちらを参照してください。
- **param** `obj` -- 出力したいオブジェクトを指定します。[m:Kernel?.puts] と同じです。
- **raise** `IOError` -- 自身が書き込み用にオープンされていなければ発生します。
- **raise** `Errno::EXXX` -- 出力に失敗した場合に発生します。
```text
$stdout.puts("this", "is", "a", "test", [1,... -
IO
# pwrite(string , offset) -> Integer (25.0) -
string を offset の位置に [man:pwrite(2)] システムコールを使って書き込みます。
string を offset の位置に [man:pwrite(2)] システムコールを使って書き込みます。
[m:IO#seek]と[m:IO#write]の組み合わせと比べて、アトミックな操作になるという点が優れていて、複数スレッド/プロセスから同じIOオブジェクトを様々な位置から読み込むことを許します。
どのユーザー空間のIO層のバッファリングもバイパスします。
- **param** `string` -- 書き込む文字列を指定します。
- **param** `offset` -- ファイルポインタを変えずに書き込む位置を指定します。
- **return** -- 書き込... -
IO
# read(length = nil , outbuf = "") -> String | nil (25.0) -
length バイト読み込んで、その文字列を返します。
length バイト読み込んで、その文字列を返します。
引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして動作します。
既に EOF に達していれば nil を返します。
ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。
例えば、open(空ファイル) {|f| f.read } は "" となります。
- **param** `length` -- 読み込むサイズを整数で指定します。
nil が指定された場合、EOF までの全てのデータを読み込んで、その... -
IO
# reopen(path) -> self (25.0) -
path で指定されたファイルにストリームを繋ぎ換えます。
path で指定されたファイルにストリームを繋ぎ換えます。
第二引数を省略したとき self のモードをそのまま引き継ぎます。
[m:IO#pos], [m:IO#lineno] などはリセットされます。
- **param** `path` -- パスを表す文字列を指定します。
- **param** `mode` -- パスを開く際のモードを文字列で指定します。
- **raise** `Errno::EXXX` -- 失敗した場合に発生します。
```ruby title="例"
IO.write("testfile", "This is line one\nThis is ... -
IO
# reopen(path , mode) -> self (25.0) -
path で指定されたファイルにストリームを繋ぎ換えます。
path で指定されたファイルにストリームを繋ぎ換えます。
第二引数を省略したとき self のモードをそのまま引き継ぎます。
[m:IO#pos], [m:IO#lineno] などはリセットされます。
- **param** `path` -- パスを表す文字列を指定します。
- **param** `mode` -- パスを開く際のモードを文字列で指定します。
- **raise** `Errno::EXXX` -- 失敗した場合に発生します。
```ruby title="例"
IO.write("testfile", "This is line one\nThis is ... -
IO
# seek(offset , whence = IO :: SEEK _ SET) -> 0 (25.0) -
ファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。
ファイルポインタを whence の位置から offset だけ移動させます。
offset 位置への移動が成功すれば 0 を返します。
- **param** `offset` -- ファイルポインタを移動させるオフセットを整数で指定します。
- **param** `whence` -- 値は以下のいずれかです。
それぞれ代わりに :SET、:CUR、:END、:DATA、:HOLE を指定する事も可能です。
- IO::SEEK_SET: ファイルの先頭から (デフォルト)
- IO::SEEK_CUR: 現在のファイルポインタから
- I... -
IO
# stat -> File :: Stat (25.0) -
ファイルのステータスを含む [c:File::Stat] オブジェクトを生成して返します。
ファイルのステータスを含む [c:File::Stat] オブジェクトを生成して返します。
- **raise** `Errno::EXXX` -- ステータスの読み込みに失敗した場合に発生します。
- **raise** `IOError` -- 既に close されていた場合に発生します。
```ruby title="例"
IO.write("testfile", "This is line one\nThis is line two\n")
File.open("testfile") do |f|
s = f.stat
p "%o" % s.mode # => "1... -
IO
# sysread(maxlen , outbuf = "") -> String (25.0) -
[man:read(2)] を用いて入力を行ない、入力されたデータを含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作をすることがあります。
[man:read(2)] を用いて入力を行ない、入力されたデータを含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作をすることがあります。
バイナリ読み込みメソッドとして動作します。
既に EOF に達していれば EOFError が発生します。ただし、maxlen に 0 が指定されている場合は、空文字列 "" を返します。
- **param** `maxlen` -- 入力のサイズを整数で指定します。
- **param** `outbuf` -- 出力用のバッファを文字列で指定します。IO#sysread は... -
IO
# sysseek(offset , whence = IO :: SEEK _ SET) -> Integer (25.0) -
[man:lseek(2)] と同じです。[m:IO#seek] では、 [m:IO#sysread], [m:IO#syswrite] と併用すると正しく動作しないので代わりにこのメソッドを使います。 位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。
[man:lseek(2)] と同じです。[m:IO#seek] では、
[m:IO#sysread], [m:IO#syswrite] と併用すると正しく動作しないので代わりにこのメソッドを使います。
位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。
書き込み用にバッファリングされた IO に対して実行すると警告が出ます。
```ruby
File.open("/dev/zero") {|f|
buf = f.read(3)
f.sysseek(0)
}
# => -:3:in `sysseek': sysseek for buf... -
IO
# syswrite(string) -> Integer (25.0) -
[man:write(2)] を用いて string を出力します。 string が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。
[man:write(2)] を用いて string を出力します。
string が文字列でなければ to_s による文字列化を試みます。
実際に出力できたバイト数を返します。
stdio を経由しないので他の出力メソッドと混用すると思わぬ動作をすることがあります。
- **param** `string` -- 自身に書き込みたい文字列を指定します。
- **raise** `IOError` -- 自身が書き込み用にオープンされていなければ発生します。
- **raise** `Errno::EXXX` -- 出力に失敗した場合に発生します。
```ruby title="例... -
IO
# write(*str) -> Integer (25.0) -
IOポートに対して str を出力します。str が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。
IOポートに対して str を出力します。str が文字列でなければ to_s による文字列化を試みます。
実際に出力できたバイト数を返します。
[m:IO#syswrite] を除く全ての出力メソッドは、最終的に
"write" という名のメソッドを呼び出すので、このメソッドを置き換えることで出力関数の挙動を変更できます。
- **param** `str` -- 自身に書き込みたい文字列を指定します。
- **raise** `IOError` -- 自身が書き込み用にオープンされていなければ発生します。
- **raise** `Errno::EXXX` -- 出力に失敗した場... -
IO
. foreach(path , rs = $ / , chomp: false , **opts) -> Enumerator (25.0) -
path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。
path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。
path のオープンに成功すれば nil を返します。
ブロックが与えられなかった場合は、path で指定されたファイルの各行を繰り返す
[c:Enumerator] オブジェクトを生成して返します。
テキスト読み込みメソッドとして動作します。
path が空ファイルの場合、何もせずに nil を返します。
[m:Kernel?.open] と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
- **param** `path` -- ファイル名を表す文字列か "|コ... -
IO
. foreach(path , rs = $ / , chomp: false , **opts) {|line| . . . } -> nil (25.0) -
path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。
path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。
path のオープンに成功すれば nil を返します。
ブロックが与えられなかった場合は、path で指定されたファイルの各行を繰り返す
[c:Enumerator] オブジェクトを生成して返します。
テキスト読み込みメソッドとして動作します。
path が空ファイルの場合、何もせずに nil を返します。
[m:Kernel?.open] と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
- **param** `path` -- ファイル名を表す文字列か "|コ... -
IO
. open(fd , mode = "r" , **opts) -> IO (25.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
ブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
- **param** `fd` -- ファイルディスクリプタである整数を指定します。
- **param** `mode` -- [m:IO.new] の mode と同じです。
- **param** `opts` -- キーワード引数。指定できるオプションは [m:IO.new] を参照してください。
- **r... -
IO
. open(fd , mode = "r" , **opts) {|io| . . . } -> object (25.0) -
オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。
オープン済みのファイルディスクリプタ fd に対する新しい
IO オブジェクトを生成して返します。
ブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを実行します。ブロックの終了とともに fd はクローズされます。ブロックの結果を返します。
- **param** `fd` -- ファイルディスクリプタである整数を指定します。
- **param** `mode` -- [m:IO.new] の mode と同じです。
- **param** `opts` -- キーワード引数。指定できるオプションは [m:IO.new] を参照してください。
- **r... -
IO
. pipe -> [IO] (25.0) -
[man:pipe(2)] を実行して、相互につながった2つの [c:IO] オブジェクトを要素とする配列を返します。
[man:pipe(2)] を実行して、相互につながった2つの
[c:IO] オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定できます。
- **param** `enc_str` -... -
IO
. pipe {|read _ io , write _ io| . . . } -> object (25.0) -
[man:pipe(2)] を実行して、相互につながった2つの [c:IO] オブジェクトを要素とする配列を返します。
[man:pipe(2)] を実行して、相互につながった2つの
[c:IO] オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定できます。
- **param** `enc_str` -... -
IO
. pipe(enc _ str , **opts) -> [IO] (25.0) -
[man:pipe(2)] を実行して、相互につながった2つの [c:IO] オブジェクトを要素とする配列を返します。
[man:pipe(2)] を実行して、相互につながった2つの
[c:IO] オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定できます。
- **param** `enc_str` -... -
IO
. pipe(enc _ str , **opts) {|read _ io , write _ io| . . . } -> object (25.0) -
[man:pipe(2)] を実行して、相互につながった2つの [c:IO] オブジェクトを要素とする配列を返します。
[man:pipe(2)] を実行して、相互につながった2つの
[c:IO] オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定できます。
- **param** `enc_str` -... -
IO
. pipe(ext _ enc) -> [IO] (25.0) -
[man:pipe(2)] を実行して、相互につながった2つの [c:IO] オブジェクトを要素とする配列を返します。
[man:pipe(2)] を実行して、相互につながった2つの
[c:IO] オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定できます。
- **param** `enc_str` -... -
IO
. pipe(ext _ enc) {|read _ io , write _ io| . . . } -> object (25.0) -
[man:pipe(2)] を実行して、相互につながった2つの [c:IO] オブジェクトを要素とする配列を返します。
[man:pipe(2)] を実行して、相互につながった2つの
[c:IO] オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定できます。
- **param** `enc_str` -... -
IO
. pipe(ext _ enc , int _ enc , **opts) -> [IO] (25.0) -
[man:pipe(2)] を実行して、相互につながった2つの [c:IO] オブジェクトを要素とする配列を返します。
[man:pipe(2)] を実行して、相互につながった2つの
[c:IO] オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定できます。
- **param** `enc_str` -... -
IO
. pipe(ext _ enc , int _ enc , **opts) {|read _ io , write _ io| . . . } -> object (25.0) -
[man:pipe(2)] を実行して、相互につながった2つの [c:IO] オブジェクトを要素とする配列を返します。
[man:pipe(2)] を実行して、相互につながった2つの
[c:IO] オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定できます。
- **param** `enc_str` -... -
IO
. read(path , **opt) -> String | nil (25.0) -
path で指定されたファイルを offset 位置から length バイト分読み込んで返します。
path で指定されたファイルを offset 位置から
length バイト分読み込んで返します。
既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。
引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして動作します。
[m:Kernel?.open] と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
ただし、この "|コマンド名" ... -
IO
. read(path , length = nil , **opt) -> String | nil (25.0) -
path で指定されたファイルを offset 位置から length バイト分読み込んで返します。
path で指定されたファイルを offset 位置から
length バイト分読み込んで返します。
既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。
引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして動作します。
[m:Kernel?.open] と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
ただし、この "|コマンド名" ... -
IO
. read(path , length = nil , offset = 0 , **opt) -> String | nil (25.0) -
path で指定されたファイルを offset 位置から length バイト分読み込んで返します。
path で指定されたファイルを offset 位置から
length バイト分読み込んで返します。
既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。
引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして動作します。
[m:Kernel?.open] と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
ただし、この "|コマンド名" ... -
IO
. readlines(path , limit , chomp: false , opts={}) -> [String] (25.0) -
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
[m:Kernel?.open] と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
opts でファイルを開くときのオプションを指定します。エンコーディングなどを指定できます。
[m:File.open] と同様なのでそちらを参照してください。
- **param** `path` -- ... -
IO
. readlines(path , rs = $ / , chomp: false , opts={}) -> [String] (25.0) -
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
[m:Kernel?.open] と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
opts でファイルを開くときのオプションを指定します。エンコーディングなどを指定できます。
[m:File.open] と同様なのでそちらを参照してください。
- **param** `path` -- ... -
IO
. readlines(path , rs , limit , chomp: false , opts={}) -> [String] (25.0) -
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
[m:Kernel?.open] と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で切れないように余分に読み込む場合があります。
opts でファイルを開くときのオプションを指定します。エンコーディングなどを指定できます。
[m:File.open] と同様なのでそちらを参照してください。
- **param** `path` -- ... -
IO
. select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (25.0) -
[man:select(2)] を実行します。
[man:select(2)] を実行します。
与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものをそれぞれ配列にして、配列の配列として返します。
タイムアウトした時には nil を返します。
- **param** `reads` -- 入力待ちする [c:IO] オブジェクトの配列を渡します。
- **param** `writes` -- 出力待ちする [c:IO] オブジェクトの配列を渡します。
- **param** `excepts` -- 例外待ちする [c:IO] オブジェクトの配列を渡します。
- **param** `timeout`... -
IO
. sysopen(path , mode = "r" , perm = 0666) -> Integer (25.0) -
path で指定されるファイルをオープンし、ファイル記述子を返します。
path で指定されるファイルをオープンし、ファイル記述子を返します。
[m:IO.for_fd] などで IO オブジェクトにしない限り、このメソッドでオープンしたファイルをクローズする手段はありません。
- **param** `path` -- ファイル名を表す文字列を指定します。
- **param** `mode` -- モードを文字列か定数の論理和で指定します。[m:Kernel?.open] と同じです。
- **param** `perm` -- [man:open(2)] の第 3 引数のように、ファイルを生成する場合のファイルのパーミッションを整数で指定します。[... -
Kernel
. # `(command) -> String (25.0) -
command を外部コマンドとして実行し、その標準出力を文字列として返します。このメソッドは \`command\` の形式で呼ばれます。
command を外部コマンドとして実行し、その標準出力を文字列として返します。このメソッドは \`command\` の形式で呼ばれます。
引数 command に対しダブルクォートで囲まれた文字列と同様の解釈と式展開を行った後、コマンドとして実行します。
コマンドは評価されるたびに実行されます。コマンドの終了ステータスを得るには、[m:$?] を参照します。
コマンドの出力を得る必要がなく、単にコマンドを実行したいだけなら
[m:Kernel?.system] を使います。特に端末を制御するコマンドでは
\`command\` は失敗するかもしれません。
[ref:d:spec/l... -
Kernel
. # gets(rs = $ / ) -> String | nil (25.0) -
[c:ARGF]から一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
[c:ARGF]から一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容をすべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
読み込んだ文字列は組み込み変数 [m:$_] にもセットされます。
- **param** `rs` -- 行の区切りとなる文字列です。
- **return** -- ファイルの終り(EOF)に到達した時、 nil を返します... -
Kernel
. # open(file , mode _ enc = "r" , perm = 0666) -> IO (25.0) -
file をオープンして、[c:IO]([c:File]を含む)クラスのインスタンスを返します。
file をオープンして、[c:IO]([c:File]を含む)クラスのインスタンスを返します。
ブロックが与えられた場合、指定されたファイルをオープンし、生成した [c:IO] オブジェクトを引数としてブロックを実行します。
ブロックの終了時や例外によりブロックを脱出するとき、ファイルをクローズします。ブロックを評価した結果を返します。
ファイル名 file が `|` で始まる時には続く文字列をコマンドとして起動し、コマンドの標準入出力に対してパイプラインを生成します
ファイル名が "|-" である時、open は Ruby の子プロセスを生成し、その子プロセスとの間のパイプ([c... -
Kernel
. # open(file , mode _ enc = "r" , perm = 0666) {|io| . . . } -> object (25.0) -
file をオープンして、[c:IO]([c:File]を含む)クラスのインスタンスを返します。
file をオープンして、[c:IO]([c:File]を含む)クラスのインスタンスを返します。
ブロックが与えられた場合、指定されたファイルをオープンし、生成した [c:IO] オブジェクトを引数としてブロックを実行します。
ブロックの終了時や例外によりブロックを脱出するとき、ファイルをクローズします。ブロックを評価した結果を返します。
ファイル名 file が `|` で始まる時には続く文字列をコマンドとして起動し、コマンドの標準入出力に対してパイプラインを生成します
ファイル名が "|-" である時、open は Ruby の子プロセスを生成し、その子プロセスとの間のパイプ([c... -
Kernel
. # p(*arg) -> object | Array (25.0) -
引数を人間に読みやすい形に整形して改行と順番に標準出力 [m:$stdout] に出力します。主にデバッグに使用します。
引数を人間に読みやすい形に整形して改行と順番に標準出力 [m:$stdout] に出力します。主にデバッグに使用します。
引数の inspect メソッドの返り値と改行を順番に出力します。つまり以下のコードと同じです。
```ruby title="例"
print arg[0].inspect, "\n", arg[1].inspect, "\n" #, ...
```
整形に用いられる[m:Object#inspect]は普通に文字列に変換すると区別がつかなくなるようなクラス間の差異も表現できるように工夫されています。
p に引数を与えずに呼び出した場合は特に何もしません。
-... -
Kernel
. # print(*arg) -> nil (25.0) -
引数を順に標準出力 [m:$stdout] に出力します。引数が与えられない時には変数 [m:$_] の値を出力します。
引数を順に標準出力 [m:$stdout] に出力します。引数が与えられない時には変数
[m:$_] の値を出力します。
文字列以外のオブジェクトが引数として与えられた場合には、
to_s メソッドにより文字列に変換してから出力します。
変数 [m:$,] (出力フィールドセパレータ)に nil でない値がセットされている時には、各引数の間にその文字列を出力します。
変数 [m:$\\] (出力レコードセパレータ)に nil でない値がセットされている時には、最後にそれを出力します。
- **param** `arg` -- 出力するオブジェクトを任意個指定します。
- **raise... -
Kernel
. # printf(format , *arg) -> nil (25.0) -
C 言語の printf と同じように、format に従い引数を文字列に変換して port に出力します。
C 言語の printf と同じように、format に従い引数を文字列に変換して port に出力します。
port を省略した場合は標準出力 [m:$stdout] に出力します。
引数を 1 つも指定しなければ何もしません。
Ruby における format 文字列の拡張については
[m:Kernel?.sprintf]の項を参照してください。
- **param** `port` -- 出力先になる[c:IO] のサブクラスのインスタンスです。
- **param** `format` -- フォーマット文字列です。
- **param** `arg` -- フォーマットされ... -
Kernel
. # printf(port , format , *arg) -> nil (25.0) -
C 言語の printf と同じように、format に従い引数を文字列に変換して port に出力します。
C 言語の printf と同じように、format に従い引数を文字列に変換して port に出力します。
port を省略した場合は標準出力 [m:$stdout] に出力します。
引数を 1 つも指定しなければ何もしません。
Ruby における format 文字列の拡張については
[m:Kernel?.sprintf]の項を参照してください。
- **param** `port` -- 出力先になる[c:IO] のサブクラスのインスタンスです。
- **param** `format` -- フォーマット文字列です。
- **param** `arg` -- フォーマットされ... -
Kernel
. # putc(ch) -> object (25.0) -
文字 ch を 標準出力 [m:$stdout] に出力します。
文字 ch を 標準出力 [m:$stdout] に出力します。
ch が数値なら 0 〜 255 の範囲の対応する文字を出力します。
ch が文字列なら、その先頭1文字を出力します。
どちらでもない場合は、ch.to_int で整数に変換を試みます。
- **param** `ch` -- 出力する文字です。数または文字列で指定します。
- **return** -- ch を返します
- **raise** `RangeError` -- C の long に収まらない大きな整数を引数にした場合に発生します。
- **raise** `IOError` -- 標準出力が書き込み用にオ... -
Kernel
. # puts(*arg) -> nil (25.0) -
引数と改行を順番に 標準出力 [m:$stdout] に出力します。 引数がなければ改行のみを出力します。
引数と改行を順番に 標準出力 [m:$stdout] に出力します。
引数がなければ改行のみを出力します。
引数が配列の場合、その要素と改行を順に出力します。
配列や文字列以外のオブジェクトが引数として与えられた場合には、当該オブジェクトを最初に to_ary により配列へ、次に to_s メソッドにより文字列へ変換を試みます。
末尾が改行で終っている引数や配列の要素に対しては puts 自身は改行を出力しません。
- **param** `arg` -- 出力するオブジェクトを任意個指定します。
- **raise** `IOError` -- 標準出力が書き込み用にオープンされていな... -
Kernel
. # readline(rs = $ / ) -> String (25.0) -
[c:ARGF]から一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
[c:ARGF]から一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容をすべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
読み込んだ文字列は組み込み変数 [m:$_] にもセットされます。
- **param** `rs` -- 行の区切りとなる文字列です。
- **raise** `Errno::EXXX` -- 読み込みに失敗した場合に発生しま... -
Kernel
. # readlines(rs = $ / ) -> [String] (25.0) -
[c:ARGF]を [`gets(rs)`](m:Kernel?.gets) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。 行の区切りは引数 rs で指定した文字列になります。
[c:ARGF]を [`gets(rs)`](m:Kernel?.gets) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
- **param** `rs` -- 行の区切りとなる文字列です。
- **raise** `Errno::EXXX` -- 読み込みに失敗した場合に発生します。
```ruby title="main.rb"
ARGV << 'b.txt' ... -
Kernel
. # warn(*message , uplevel: nil , category: nil) -> nil (25.0) -
message を 標準エラー出力 [m:$stderr] に出力します。 [m:$VERBOSE] フラグ が nil のときは何も出力しません。
message を 標準エラー出力 [m:$stderr] に出力します。 [m:$VERBOSE]
フラグ が nil のときは何も出力しません。
文字列以外のオブジェクトが引数として与えられた場合には、
to_s メソッドにより文字列に変換してから出力します。
uplevel を指定しない場合は、このメソッドは以下と同じです。
```ruby
$stderr.puts(*message) if !$VERBOSE.nil? && !message.empty?
nil
```
- **param** `message` -- 出力するオブジェクトを任意個指定します。
- **pa... -
Process
. # daemon(nochdir = nil , noclose = nil) -> 0 (25.0) -
プロセスから制御端末を切り離し、バックグラウンドにまわってデーモンとして動作させます。
プロセスから制御端末を切り離し、バックグラウンドにまわってデーモンとして動作させます。
カレントディレクトリを / に移動します。
ただし nochdir に真を指定したときにはこの動作は抑制され、カレントディレクトリは移動しません。
標準入力・標準出力・標準エラー出力を /dev/null にリダイレクトします。
ただし noclose に真を指定したときにはこの動作は抑制され、リダイレクトは行なわれません。
- **param** `nochdir` -- true を指定した場合、カレントディレクトリを移動しません。
- **param** `noclose` -- true ... -
Process
. # egid=(gid) (25.0) -
カレントプロセスの実効グループ ID を gid に設定します。
カレントプロセスの実効グループ ID を gid に設定します。
動作の詳細はプラットフォームに依存します。
実効グループ ID 以外のグループ ID も変更されるかも知れません。
- **param** `gid` -- 実効グループ ID を整数で指定します。
- **raise** `Errno::EXXX` -- 権限がない場合に発生します。
- **raise** `NotImplementedError` -- メソッドが現在のプラットフォームで実装されていない場合に発生します。
- **SEE** [m:Process::GID?.eid=] -
Process
. # euid=(uid) (25.0) -
カレントプロセスの実効ユーザ ID を uid に設定します。
カレントプロセスの実効ユーザ ID を uid に設定します。
動作の詳細はプラットフォームに依存します。
実効ユーザ ID 以外のユーザ ID も変更されるかも知れません。
- **param** `uid` -- 実効ユーザ ID を整数で指定します。
- **raise** `Errno::EXXX` -- 権限がない場合に発生します。
- **raise** `NotImplementedError` -- メソッドが現在のプラットフォームで実装されていない場合に発生します。
- **SEE** [m:Process::UID?.eid=] -
Process
. # getpgid(pid) -> Integer (25.0) -
プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。
プロセス ID が pid であるプロセスのプロセスグループ ID を整数で返します。
- **param** `pid` -- プロセス ID を整数で指定します。0 の時はカレントプロセス ID を指定したのと同じです。
- **raise** `Errno::EXXX` -- プロセスグループの取得に失敗した場合に発生します。
- **raise** `NotImplementedError` -- メソッドが現在のプラットフォームで実装されていない場合に発生します。
- **SEE** [man:getpgid(2)] -
Process
. # getpgrp -> Integer (25.0) -
現在のプロセスのプロセスグループ ID を整数で返します。
現在のプロセスのプロセスグループ ID を整数で返します。
- **raise** `Errno::EXXX` -- プロセスグループの取得に失敗した場合に発生します。
- **raise** `NotImplementedError` -- メソッドが現在のプラットフォームで実装されていない場合に発生します。
- **SEE** [man:getpgrp(2)] -
Process
. # getpriority(which , who) -> Integer (25.0) -
which に従いプロセス、プロセスグループ、ユーザのいずれかの現在のプライオリティを整数で返します。
which に従いプロセス、プロセスグループ、ユーザのいずれかの現在のプライオリティを整数で返します。
- **param** `which` -- プライオリティの種類を次の定数で指定します。 [m:Process::PRIO_PROCESS],
[m:Process::PRIO_PGRP], [m:Process::PRIO_USER]。
- **param** `who` -- which の値にしたがってプロセス ID、プロセスグループ ID、ユーザ ID のいずれかを整数で指定します。
- **raise** `Errno::EXXX` -- プライ...
