種類
- インスタンスメソッド (108)
- 文書 (33)
- 定数 (22)
- クラス (22)
- 特異メソッド (11)
クラス
-
ARGF
. class (9) - BasicSocket (11)
-
Errno
:: EXXX (11) - GDBM (11)
- IO (33)
- Socket (22)
- SystemCallError (11)
- TCPServer (11)
- UDPSocket (11)
- UNIXServer (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - === (11)
- EXXX (11)
- Errno (11)
- NOLOCK (11)
-
accept
_ nonblock (33) -
read
_ nonblock (20) - readpartial (11)
-
recv
_ nonblock (11) -
recvfrom
_ nonblock (22) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 3 feature (11) -
write
_ nonblock (11)
検索結果
先頭5件
-
Errno
:: EAGAIN (21016.0) -
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
...システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。... -
Errno
:: EXXX :: Errno -> Integer (9147.0) -
Errno::EXXX の各クラスに対応するシステム依存のエラーコード値(整数)です。
...
Errno::EXXX の各クラスに対応するシステム依存のエラーコード値(整数)です。
例:
p Errno::EAGAIN::Errno # => 11
p Errno::EWOULDBLOCK::Errno # => 11... -
Errno
:: EXXX (3042.0) -
システム依存のエラーコードのそれぞれに対応する一連の例外クラスです。 Rubyのライブラリ内部でシステムコールや一部のC言語関数が失敗したときに発生します。
...外 Errno::ENOENT を発生させます。
Ruby は処理系がコンパイルされるときに、デフォルトで下記リストのような Errno::EXXX クラスを定義しようとします。
動作環境に EXXX というエラーコードが存在しない場合、Rubyはその Errno::EXX......X を Errno::NOERROR の別名として定義します。
また、以下の一覧にはないシステムエラーが発生した場合は、
Errno::EXXX (XXX はエラー番号を表す 3 桁の数字)
という名前の例外クラスが自動的に作成され、発生します。
(これは R......アル errno(3) を参照してください。
Microsoft Windows システムにおいては http://msdn2.microsoft.com/ja-jp/library/5814770t.aspx を参照してください。
* EPERM
* ENOENT
* ESRCH
* EINTR
* EIO
* ENXIO
* E2BIG
* ENOEXEC
* EBADF
* ECHILD
* EAGAIN
* EN... -
SystemCallError
. ===(other) -> bool (140.0) -
other が SystemCallError のサブクラスのインスタンスで、 かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。
...other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。
従って、特に other が self.kind_of?(other) である場合には Module#=== と同様に真を返します。
その他に、 Errno::EXXX::Errno == Errno::EYYY::Errno であ......も Errno::EXXX == Errno::EYYY.new は真を返します。
エラー名は異なるがエラーコードは同じであるような Errno::EXXX 例外をまとめて捕捉するために Module#=== を上書きしていました。
しかし、Ruby 1.8 のリリース時点では同じ errno 値......しかありません。
@param other 任意のオブジェクト
例
p Errno::EAGAIN::Errno
p Errno::EWOULDBLOCK::Errno
begin
raise Errno::EAGAIN, "pseudo error"
rescue Errno::EWOULDBLOCK
p $!
end
# => 11
11
#<Errno::EAGAIN: pseudo error>... -
ruby 1
. 6 feature (114.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていました。現在は、このようなシステムでは、EWOULDBLOCK は、EAGAIN
として定義されています。(これは 1.6.7 とは異なる挙動です)
p Errno::E......AGAIN
p Errno::EWOULDBLOCK
=> ruby 1.6.7 (2002-03-01) [i586-linux]
Errno::EAGAIN
Errno::EWOULDBLOCK
=> ruby 1.6.8 (2002-12-24) [i586-linux]
Errno::EAGAIN
-:2: uninitialized constant EWOULDBLOCK at Errno (NameError)
=> rub......y 1.6.8 (2003-02-13) [i586-linux]
Errno::EAGAIN
Errno::EAGAIN
== 1.6.7 (2002-03-01) -> 1.6.8 (2002-12-24)
: 2002-10-02: Thread (cygwin)
Cygwin で、Thread の切替えが行われないことがありました。
((<ruby-list:36058>)), ((<ruby-list:24637>))
: 2002-10-0... -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (74.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
...り
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadabl......。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) システムコー... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (60.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...に errno が一致する例外を同じと見なすよう
に再定義されました。これにより、例えば Errno::EWOULDBLOCK と
Errno::EAGAIN が同じ意味(同じerrno)の場合にどちらを指定しても rescue
できるようになりました。
その後、errno が......一致する Errno::XXX オブジェクトは同一のオブジェクト
になったのでこの変更の効果はなくなってますが、変更自体は残ってます。
(ユーザで例外クラスを定義するのに使えるかもしれません)
((<ruby-dev:19589>))
: while, until,......t]
: ((<NoMethodError/NoMethodError.new>))(msg, name, args) [compat]
: ((<SystemCallError/SystemCallError.new>))(msg, err) [compat]
: ((<Errno::EXXX>)).new(msg) [compat]
内部の実装でインスタンス変数を初期化していなかったために warning が... -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (54.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。
書き込んだバイト数(つまり返り値)は String#bytesize の
値より小さい可能性があります。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場......指定すると、書き込み時に Errno::EAGAIN、Errno::EWOULDBLOCK が発生
する代わりに :wait_writable を返します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX write(2) が失敗した場合... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (42.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...ス情報の
2要素の配列となります。
recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが
可能であることを意味する... -
ruby 1
. 8 . 3 feature (42.0) -
ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))
...1.8.3 以降では、VERBOSE モードの時に IO#read がノンブロッキングモードで
データの読み込みに失敗して ((<Errno::EAGAIN|Errno::EXXX>)) エラーが発生した場合、
"nonblocking IO#read is obsolete" という警告が出るようになりました。
そし......io.nonblock = true
p io.read(4)'
-e:4:in `read': Resource temporarily unavailable (Errno::EAGAIN)
from -e:4
$ ruby -e 'sleep 1; print "hoge"' | ruby-1.8.3 -rio/nonblock -we '
i......(4)'
-e:4: warning: nonblocking IO#read is obsolete; use IO#readpartial or IO#sysread
-e:4:in `read': Resource temporarily unavailable (Errno::EAGAIN)
from -e:4
$ ruby -e 'sleep 1; print "hoge"' | ruby-1.8.3 -rio/nonblock -we '
i...