クラス
-
ARGF
. class (10) - IO (60)
- IPSocket (36)
- Pathname (12)
- Socket (12)
- SystemCallError (12)
- UDPSocket (12)
キーワード
-
accept
_ nonblock (12) - addr (12)
- children (12)
- fsync (12)
- peeraddr (12)
-
read
_ nonblock (22) - recvfrom (12)
-
recvfrom
_ nonblock (12) - sysread (12)
- sysseek (12)
- syswrite (12)
検索結果
先頭5件
-
SystemCallError
# errno -> Integer | nil (21150.0) -
レシーバに対応するシステム依存のエラーコードを返します。
...l を返します。
begin
raise Errno::ENOENT
rescue Errno::ENOENT => err
p err.errno # => 2
p Errno::ENOENT::Errno # => 2
end
begin
raise SystemCallError, 'message'
rescue SystemCallError => err
p err.errno # => nil
end
な......お、例外を発生させずにエラーコードを得るには、
Errno::EXXX::Errno 定数を使います。... -
IO
# fsync -> 0 (6107.0) -
書き込み用の IO に対して、システムコール fsync(2) を実行します。IO#flush を行ったあと、(OSレベルで)まだディスクに 書き込まれていないメモリ上にあるデータをディスクに書き出します。
...して、システムコール fsync(2)
を実行します。IO#flush を行ったあと、(OSレベルで)まだディスクに
書き込まれていないメモリ上にあるデータをディスクに書き出します。
成功すれば 0 を返します。
fsync(2) がサポートされてい......ない場合は nil を返します。
@raise Errno::EXXX 失敗した場合に発生します。
@raise IOError 既に close されている場合に発生します。... -
IO
# sysread(maxlen , outbuf = "") -> String (6107.0) -
read(2) を用いて入力を行ない、入力されたデータを 含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作 をすることがあります。
...ます。
@param maxlen 入力のサイズを整数で指定します。
@param outbuf 出力用のバッファを文字列で指定します。IO#sysread は読み込んだデータを
その文字列オブジェクトに上書きして返します。指定した文字列オブジ......IO が既に EOF に達していれば発生します。
@raise Errno::EXXX データの読み込みに失敗した場合に発生します。
第二引数を指定した sysread の呼び出しでデータが空であった場
合(sysread が例外 EOFError を発生させる場合)、
outbuf は......空文字列になります。
outbuf = "x" * 20;
io = File.open("/dev/null")
p((io.sysread(10,outbuf) rescue nil))
p outbuf
=> nil
""... -
IO
# sysseek(offset , whence = IO :: SEEK _ SET) -> Integer (6107.0) -
lseek(2) と同じです。IO#seek では、 IO#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。 位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。
...lseek(2) と同じです。IO#seek では、
IO#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。
位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。
書き......。
File.open("/dev/zero") {|f|
buf = f.read(3)
f.sysseek(0)
}
# => -:3:in `sysseek': sysseek for buffered IO (IOError)
File.open("/dev/null", "w") {|f|
f.print "foo"
f.sysseek(0)
}
# => -:3: warning: sysseek for buffered IO
@param offset ファイルポインタを......がある位置へ(同上)
@raise IOError 読み込み用にバッファリングされた IO に対して実行すると発生します。
既に close されていた場合にも発生します。
@raise Errno::EXXX 移動に失敗した場合に発生します。
@see IO#seek... -
IO
# syswrite(string) -> Integer (6107.0) -
write(2) を用いて string を出力します。 string が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。
...込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
//emlist[例][ruby]{
File.open("testfile", "w+") do |f|
f.syswrite("ABCDE") # => 5
f.syswrite(:ABC) # => 3
end
File.read("testfile") # => "ABCDEABC"
//}... -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (147.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
...maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Objec......。read(2) システムコールが 0 を返した場合は、空文字列になります。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
:wait_readable を返すかどうかを指定します。また、false......or の代わりに nil を返します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
@raise Errno::EXXX read(2) システムコールの結果としてエラーが起きた場合に発生します。
@raise EOFError read(2) システムコー... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (131.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...レス情報の
2要素の配列となります。
recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが
可能であることを意味す......emulate blocking recvfrom
p s2.recvfrom_nonblock(10)
#=> ["aaa", ["AF_INET", 33302, "localhost.localdomain", "127.0.0.1"]]
rescue IO::WaitReadable
IO.select([s2])
retry
end
@param maxlen 受け取るデータの最大バイト数
@param flags フラグ
@see IPSocket#recvfrom... -
ARGF
. class # read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (113.0) -
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 詳しくは IO#read_nonblock を参照してください。
...outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
:wait_readable を返すかどうかを指定します。また、false... -
IPSocket
# addr -> Array (107.0) -
ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表 す文字列、第4要素がホストの IP アドレスを表す文字列 (octet decimal や hexadecimal) です。
...素がホストを表
す文字列、第4要素がホストの IP アドレスを表す文字列 (octet
decimal や hexadecimal) です。
@raise Errno::EXXX getsockname(2) が 0 未満の値を返した場合に発生します。
例:
require 'socket'
serv = TCPServer.new("localhost", 0)...