るりまサーチ (Ruby 2.5.0)

最速Rubyリファレンスマニュアル検索!
54件ヒット [1-54件を表示] (0.105秒)

別のキーワード

  1. json extend
  2. mutex_m extend_object
  3. irb/extend-command def_extend_command
  4. irb/extend-command install_extend_commands
  5. object extend

検索結果

Object#extend(*modules) -> self (54433.0)

引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。

引数で指定したモジュールのインスタンスメソッドを self の特異
メソッドとして追加します。

Module#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに使用します。

引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。

@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。

//emlist[][ruby]{
module Foo
def a
'ok Foo'
en...

Module#extended(obj) -> () (18490.0)

self が他のオブジェクト に Object#extend されたときに 呼ばれます。引数には extend を行ったオブジェクトが渡されます。

self が他のオブジェクト に Object#extend されたときに
呼ばれます。引数には extend を行ったオブジェクトが渡されます。

@param obj Object#extend を行ったオブジェクト

//emlist[例][ruby]{
module Foo
def self.extended(obj)
p "#{obj} extend #{self}"
end
end

Object.new.extend Foo

# => "#<Object:0x401cbc3c> extend Foo"
//}

@see Module#extend_objec...

Module#extend_object(obj) -> object (18463.0)

Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

Object#extend は、Ruby で書くと以下のように定義できます。

//emlist[例][ruby]{
def extend(*modules)
modules.reverse_each do |mod|
# extend_object や extended はプライベートメソッドなので
# 直接 mod.extend_object(self) などとは書けない
mod.__send__(:extend_object, self)
mod.__send__...

Mutex_m#mu_extended -> Mutex (18352.0)

Mutex_m.extend_object から呼び出されます。 ユーザが直接使うことはありません。

Mutex_m.extend_object から呼び出されます。
ユーザが直接使うことはありません。

Sync_m#sync_extend (18307.0)

@todo

@todo

絞り込み条件を変える

IRB::ExtendCommand::ChangeWorkspace#execute(*obj) -> obj (9004.0)

irb の self を obj で指定したオブジェクトに設定します。self に設定され たオブジェクトを返します。

irb の self を obj で指定したオブジェクトに設定します。self に設定され
たオブジェクトを返します。

@param obj 任意のオブジェクトを指定できます。複数指定した場合は先頭のオ
ブジェクトのみが設定されます。

IRB::ExtendCommand::CurrentWorkingWorkspace#execute(*obj) -> obj (9004.0)

irb の self を返します。

irb の self を返します。

@param obj 使用しません。

IRB::ExtendCommand::Foreground#execute(*obj) -> IRB::Irb (9004.0)

指定したサブ irb に移動します。

指定したサブ irb に移動します。

@param obj 移動するサブ irb を識別する以下のいずれかのオブジェクトを指定します。

* irb インタプリタ番号
* irb オブジェクト
* スレッド ID
* 各インタプリタの self (「irb(obj)」で起動した時の obj)

IRB::ExtendCommand::Help#execute(*names) -> nil (9004.0)

RI から Ruby のドキュメントを参照します。

RI から Ruby のドキュメントを参照します。

irb(main):001:0> help String#match
...

@param names 参照したいクラス名やメソッド名などを文字列で指定します。

names を指定しなかった場合は、RI を対話的なモードで起動します。メソッド
名などを入力する事でドキュメントの検索が行えます。入力のタブ補完をする
事ができます。また、空行を入力する事で irb のプロンプトに戻る事ができま
す。

irb(main):001:0> help

Enter the method name you want to look...

IRB::ExtendCommand::IrbCommand#execute(*obj) -> IRB::Irb (9004.0)

新しいサブ irb インタプリタを起動します。

新しいサブ irb インタプリタを起動します。

@param obj 新しいサブ irb インタプリタで self にするオブジェクトを指定
します。省略した場合は irb を起動したときの main オブジェク
トを self にします。

絞り込み条件を変える

IRB::ExtendCommand::Jobs#execute -> IRB::JobManager (9004.0)

サブ irb のリストを返します。

サブ irb のリストを返します。

IRB::ExtendCommand::Kill#execute(*obj) -> object (9004.0)

指定したサブ irb を停止します。

指定したサブ irb を停止します。

@param obj 停止するサブ irb を識別する以下のいずれかのオブジェクトを指定します。

* irb インタプリタ番号
* irb オブジェクト
* スレッド ID
* 各インタプリタの self (「irb(obj)」で起動した時の obj)

IRB::ExtendCommand::Load#execute(file_name, priv = nil) -> nil (9004.0)

ファイル path を Ruby スクリプトとみなし、現在の irb インタプリタ上で実 行します。

ファイル path を Ruby スクリプトとみなし、現在の irb インタプリタ上で実
行します。

Kernel.#load と異なり、path の内容を irb で一行ずつタイプしたかの
ように、irb 上で一行ずつ評価されます。

@param file_name ファイル名を文字列で指定します。

@param priv 真を指定した場合は実行は内部的に生成される無名モジュール上
で行われ、グローバルな名前空間を汚染しません。

@raise LoadError 読み込みに失敗した場合に発生します。

IRB::ExtendCommand::Nop#execute(*opts) -> () (9004.0)

何もしません。サブクラスでオーバーライドして使用します。

何もしません。サブクラスでオーバーライドして使用します。

@param opts irb 中でコマンドに渡す引数を指定します。

IRB::ExtendCommand::Nop#irb_context -> IRB::Context (9004.0)

irb の現在の設定(IRB::Context)を返します。

irb の現在の設定(IRB::Context)を返します。

絞り込み条件を変える

IRB::ExtendCommand::PopWorkspace#execute(*obj) -> [IRB::WorkSpace] (9004.0)

UNIX シェルコマンドの popd と同じです。

UNIX シェルコマンドの popd と同じです。

@param obj 使用しません。

IRB::ExtendCommand::PushWorkspace#execute(*obj) -> [IRB::WorkSpace] (9004.0)

UNIX シェルコマンドの pushd と同じです。

UNIX シェルコマンドの pushd と同じです。

@param obj IRB::WorkSpace オブジェクトを指定します。複数指定した
場合は先頭のオブジェクトのみが設定されます。

IRB::ExtendCommand::Require#execute(file_name) -> bool (9004.0)

ファイル file_name を現在の irb インタプリタ上で実行します。

ファイル file_name を現在の irb インタプリタ上で実行します。

file_name に Ruby スクリプトを指定した場合は、Kernel.#require と異
なり、file_name の内容を irb で一行ずつタイプしたかのように、irb 上で一
行ずつ評価されます。require に成功した場合は true を、そうでない場合は
false を返します。

拡張ライブラリ(*.so,*.o,*.dll など)を指定した場合は単純に require され
ます。

@param file_name ファイル名を文字列で指定します。

IRB::ExtendCommand::Source#execute(file_name) -> nil (9004.0)

現在の irb インタプリタ上で、 Ruby スクリプト path を評価します。

現在の irb インタプリタ上で、 Ruby スクリプト path を評価します。

path の内容を irb で一行ずつタイプしたかのように、irb 上で一行ずつ評価
されます。$" は更新されず、何度でも実行し直す事ができます。

@param file_name ファイル名を文字列で指定します。

IRB::ExtendCommand::Workspaces#execute(*obj) -> [IRB::WorkSpace] (9004.0)

現在のワークスペースの一覧を返します。

現在のワークスペースの一覧を返します。

@param obj 使用しません。

絞り込み条件を変える

IRB::ExtendCommandBundle#install_alias_method(to, from, override = NO_OVERRIDE) (9004.0)

メソッドのエイリアスを定義します。ライブラリ内部で使用します。

メソッドのエイリアスを定義します。ライブラリ内部で使用します。

@param to 新しいメソッド名を Symbol か文字列で指定します。

@param from 元のメソッド名を Symbol か文字列で指定します。

@param override 新しいメソッド名が定義済みであった場合にそのメソッドを
上書きするかどうかを
IRB::ExtendCommandBundle::NO_OVERRIDE、
IRB::ExtendCommandBundle::OVERRIDE_PRIVATE_...

IRB::ExtendCommandBundle#irb_context -> IRB::Context (9004.0)

現在の irb に関する IRB::Context を返します。

現在の irb に関する IRB::Context を返します。

IRB::ExtendCommandBundle#irb_exit(ret = 0) -> object (9004.0)

irb を終了します。ret で指定したオブジェクトを返します。

irb を終了します。ret で指定したオブジェクトを返します。

@param ret 戻り値を指定します。

ユーザが直接使用するものではありません。

IRB::ExtendCommandBundle#irb_load(*opts, &b) -> nil (9004.0)

現在の irb に関する IRB::Context に対して irb_load コマンドを実行 します。

現在の irb に関する IRB::Context に対して irb_load コマンドを実行
します。

@see IRB::ExtendCommand::Load#execute

IRB::ExtendCommandBundle#irb_require(*opts, &b) -> bool (9004.0)

現在の irb に関する IRB::Context に対して irb_require コマンドを 実行します。

現在の irb に関する IRB::Context に対して irb_require コマンドを
実行します。

@see IRB::ExtendCommand::Require#execute

絞り込み条件を変える

OpenURI::OpenRead#read(options = {}) -> String (52.0)

自身が表す内容を読み込んで文字列として返します。 self.open(options={}) {|io| io.read } と同じです。 このメソッドによって返される文字列は OpenURI::Meta によって extend されています。

自身が表す内容を読み込んで文字列として返します。
self.open(options={}) {|io| io.read } と同じです。
このメソッドによって返される文字列は OpenURI::Meta
によって extend されています。

@param options ハッシュを与えます。

require 'open-uri'
uri = URI.parse('http://www.example.com/')
str = uri.read
p str.is_a?(OpenURI::Meta) # => true
p str.content_type

Object#singleton_methods(inherited_too = true) -> [Symbol] (40.0)

そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。

そのオブジェクトに対して定義されている特異メソッド名
(public あるいは protected メソッド) の一覧を返します。

inherited_too が真のときは継承した特異メソッドを含みます。
継承した特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。

singleton_methods(false) は、Object#methods(false) と同じです。

@param inherited_too 継承した特異メソッドを含める場合は...

OpenSSL::SSL::SSLSocket#accept_nonblock -> self (40.0)

ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。

ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。

IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。

@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::S...

Exception2MessageMapper#Fail(exception_class = nil, *rest) -> () (22.0)

登録されている情報を使用して、例外を発生させます。

登録されている情報を使用して、例外を発生させます。

@param exception_class 例外クラス。

@param rest メッセージに埋め込む値。

@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。

例:

class Foo
extend Exception2MessageMapper
p def_exception :NewExceptionClass, "message...%d, %d and %d" # =>...

Exception2MessageMapper#Raise(exception_class = nil, *rest) -> () (22.0)

登録されている情報を使用して、例外を発生させます。

登録されている情報を使用して、例外を発生させます。

@param exception_class 例外クラス。

@param rest メッセージに埋め込む値。

@raise Exception2MessageMapper::ErrNotRegisteredException 指定された例外クラスに対応するメッセージが存在しない場合に発生します。

例:

class Foo
extend Exception2MessageMapper
p def_exception :NewExceptionClass, "message...%d, %d and %d" # =>...

絞り込み条件を変える

Fiddle::Importer#bind(signature, *opts) { ... } -> Fiddle::Function (22.0)

Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。

Ruby のブロックを C の関数で wrap し、その関数をモジュールに
インポートします。

これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。

signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。

opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。

@return インポートした関数を表す ...

Fiddle::Importer#create_value(type, val = nil) -> Fiddle::CStruct (22.0)

型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。

型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。

type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定すると、確保された構造体に
その値を代入します。

@param type 型を表す文字列
@param val 構造体に確保される初期値


require 'fiddle/import'

module M
...

Fiddle::Importer#sizeof(t) -> Integer (22.0)

C における sizeof(t) の値を返します。

C における sizeof(t) の値を返します。

t が文字列の場合、その文字列が表す C の型の size が返されます。
例えば、sizeof("char") は 1 を返します。
sizeof("char*") は環境によって 4 や 8 といった値を返します。

Fiddle::Importer#struct で定義した
構造体クラスを渡すと、その構造体のサイズを返します。
Fiddle::Importer#union で定義した共用体クラスも同様です。

t がクラスの場合、t が to_ptr というインスタンスメソッドを持っている
ならば t.size を返します。

それ...

Fiddle::Importer#struct(signature) -> Class (22.0)

C の構造体型に対応する Ruby のクラスを構築して返します。

C の構造体型に対応する Ruby のクラスを構築して返します。

構造体の各要素は C と似せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
という構造体型に対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成します。

このメソッドが返すクラスには以下のメソッドが定義されています
* クラスメソッド malloc
...

Fiddle::Importer#union(signature) -> Class (22.0)

C の共用体型に対応する Ruby のクラスを構築して返します。

C の共用体型に対応する Ruby のクラスを構築して返します。

共用体型を Ruby 上で定義する方法は Fiddle::Importer#struct と
ほぼ同様です。C における
typedef union epoll_data
{
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
は、Ruby上では
require 'fiddle/import'

module M
extend Fiddle::Importer
dlload "lib...

絞り込み条件を変える

Fiddle::Importer#value(type, val = nil) -> Fiddle::CStruct (22.0)

型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。

型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。

type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定すると、確保された構造体に
その値を代入します。

@param type 型を表す文字列
@param val 構造体に確保される初期値


require 'fiddle/import'

module M
...

Forwardable#def_delegator(accessor, method, ali = method) -> () (22.0)

メソッドの委譲先を設定します。

メソッドの委譲先を設定します。

@param accessor 委譲先のオブジェクト

@param method 委譲先のメソッド

@param ali 委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。

委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。

def_delegator は def_instance_delegator の別名になります。

例:

require 'forwardable'
class MyQueue
exten...

Forwardable#def_instance_delegator(accessor, method, ali = method) -> () (22.0)

メソッドの委譲先を設定します。

メソッドの委譲先を設定します。

@param accessor 委譲先のオブジェクト

@param method 委譲先のメソッド

@param ali 委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。

委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。

def_delegator は def_instance_delegator の別名になります。

例:

require 'forwardable'
class MyQueue
exten...

Forwardable#delegate(hash) -> () (22.0)

メソッドの委譲先を設定します。

メソッドの委譲先を設定します。

@param hash 委譲先のメソッドがキー、委譲先のオブジェクトが値の
Hash を指定します。キーは Symbol、
String かその配列で指定します。


例:

require 'forwardable'
class Zap
extend Forwardable
delegate :length => :@str
delegate [:first, :last] => :@arr
def initialize
@arr = %w/fo...

Forwardable#instance_delegate(hash) -> () (22.0)

メソッドの委譲先を設定します。

メソッドの委譲先を設定します。

@param hash 委譲先のメソッドがキー、委譲先のオブジェクトが値の
Hash を指定します。キーは Symbol、
String かその配列で指定します。


例:

require 'forwardable'
class Zap
extend Forwardable
delegate :length => :@str
delegate [:first, :last] => :@arr
def initialize
@arr = %w/fo...

絞り込み条件を変える

IO#read_nonblock(maxlen, outbuf = nil, exception: true) -> String | Symbol | nil (22.0)

IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。

IO をノンブロッキングモードに設定し、
その後で read(2) システムコールにより
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。

発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。

なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ばれません...

IO#write_nonblock(string, exception: true) -> Integer | :wait_writable (22.0)

IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。

IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。

write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。

書き込んだバイト数(つまり返り値)は String#bytesize の
値より小さい可能性があります。

発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitWritable が Object#extend
されます。よって IO::Wai...

MonitorMixin#mon_enter -> () (22.0)

モニターをロックします。

モニターをロックします。

一度に一つのスレッドだけがモニターをロックできます。
既にモニターがロックされている場合は、ロックが開放されるまで
そのスレッドは待ちます。

Thread::Mutex#lock に相当します。
Mutex#lock と違うのは現在のモニターの所有者が現在実行されているスレッドである場合、
何度でもロックできる点です。ロックした回数だけ mon_exit を呼ばなければモニターは
解放されません。

//emlist[例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin)
buf.mon_ent...

Object#is_a?(mod) -> bool (22.0)

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。

@param mod クラスやモジュールなど、Moduleかそのサブクラスのインスタンスです。

//emlist[][ruby]{
module M
end
c...

Object#kind_of?(mod) -> bool (22.0)

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。

@param mod クラスやモジュールなど、Moduleかそのサブクラスのインスタンスです。

//emlist[][ruby]{
module M
end
c...

絞り込み条件を変える

OpenSSL::Buffering#read_nonblock(maxlen, buf) -> String (22.0)

通信路から maxlen バイトを上限としてデータを読み込み、 文字列として返します。

通信路から maxlen バイトを上限としてデータを読み込み、
文字列として返します。

即座に得られるデータが 1byte でも存在すればブロックしません。
内部バッファが空でない場合はバッファのデータを返します。
即座に得られるデータが存在しないときには例外が発生します。
例外が発生した場合、内部のソケットが利用可能になってから
再びこのメソッドを呼んでください。

基本的には IO#read_nonblock と同様です。しかし以下のような
違いもあります。

このメソッドはソケットが書き込み不可能(IO::WaitWritable)という理由で
例外を発生させる可能性があります。暗号...

OpenSSL::Buffering#write_nonblock(s) -> Integer (22.0)

文字列 s をノンブロッキングモードで書き込みます。

文字列 s をノンブロッキングモードで書き込みます。

成功した場合、書き込んだバイト数を返します。

1 バイトも書くことができず、ソケットの状態が変化するのを
待つ必要がある場合は例外を発生させます。
例外が発生した場合、内部のソケットが利用可能になってから
再びこのメソッドを呼んでください。

ただし内部バッファに書き込んでいないデータが残っている場合は、
まずバッファの内容をすべて出力してします。この時点で
ブロックする可能性があります。

基本的には IO#write_nonblock と同様です。しかし以下のような
違いもあります。

このメソッドはソケットが読み込み不可能(IO:...

OpenSSL::SSL::SSLSocket#connect_nonblock -> self (22.0)

ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。

ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。

IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。

@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::S...

OpenURI::OpenRead#open(mode = &#39;r&#39;, perm = nil, options = {}) -> StringIO (22.0)

自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。

自身が表すリソースを取得して StringIO オブジェクトとして返します。
OpenURI.open_uri(self, *rest, &block) と同じです。

ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。

返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。

@param mode モードを文字列で与えます。Kernel.#open と同じです。

@param perm 無視されます...

OpenURI::OpenRead#open(mode = &#39;r&#39;, perm = nil, options = {}) {|sio| ... } -> nil (22.0)

自身が表すリソースを取得して StringIO オブジェクトとして返します。 OpenURI.open_uri(self, *rest, &block) と同じです。

自身が表すリソースを取得して StringIO オブジェクトとして返します。
OpenURI.open_uri(self, *rest, &block) と同じです。

ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。

返り値である StringIO オブジェクトは OpenURI::Meta モジュールで extend されています。

@param mode モードを文字列で与えます。Kernel.#open と同じです。

@param perm 無視されます...

絞り込み条件を変える

Socket#connect_nonblock(server_sockaddr) -> 0 (22.0)

ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。

ソケットをノンブロッキングモードに設定した後、
connect(2) を呼び出します。

引数、返り値は Socket#connect と同じです。

connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。

# Pull down Google's web page
require 'socket'
include Socket::Constants
...

Socket#recvfrom_nonblock(maxlen, flags=0) -> [String, Addrinfo] (22.0)

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。

ソケットをノンブロッキングモードに設定した後、
recvfrom(2) を呼び出します。

引数、返り値は Socket#recvfrom と同じです。

recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが
可能であることを意味する例外には、IO::WaitReadable が extend
されています。

@param maxlen ソケットから受けとるデータの最大値
@param flags フラグ
@rai...

UDPSocket#recvfrom_nonblock(maxlen, flags=0) -> [String, Array] (22.0)

ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。

ソケットをノンブロッキングモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。

maxlen で受け取るデータの最大バイト数を指定します。

flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。

返り値はデータの文字列と送り元のアドレス情報の
2要素の配列となります。

recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Err...

UNIXServer#accept_nonblock -> UnixSocket (22.0)

ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。

ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。

接続した
UNIXSocket のインスタンスを返します。

accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。

Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの例外が
発生した場合は、その例外には IO::WaitReadable が extend
されます。それを利用してリトライ可能な例外を掴まえることができます。

require 'socket...