ライブラリ
- ビルトイン (8)
-
fiddle
/ import (7) -
irb
/ cmd / chws (4) -
irb
/ cmd / help (2) -
irb
/ cmd / load (1) -
irb
/ cmd / nop (5) -
irb
/ cmd / pushws (6) -
irb
/ ext / use-loader (2) -
irb
/ extend-command (1) -
net
/ http (1) - open-uri (8)
- openssl (4)
- optparse (1)
- socket (2)
クラス
- IO (2)
-
IRB
:: ExtendCommand :: ChangeWorkspace (1) -
IRB
:: ExtendCommand :: CurrentWorkingWorkspace (1) -
IRB
:: ExtendCommand :: Help (1) -
IRB
:: ExtendCommand :: Load (1) -
IRB
:: ExtendCommand :: Nop (4) -
IRB
:: ExtendCommand :: PopWorkspace (1) -
IRB
:: ExtendCommand :: PushWorkspace (1) -
IRB
:: ExtendCommand :: Workspaces (1) - Module (1)
- Object (4)
-
OpenSSL
:: SSL :: SSLSocket (2) - Regexp (1)
- UDPSocket (1)
- UNIXServer (1)
モジュール
-
Fiddle
:: Importer (6) -
IRB
:: ExtendCommandBundle (3) -
OpenSSL
:: Buffering (2) - OpenURI (2)
-
OpenURI
:: OpenRead (3) - URI (2)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - Arguable (1)
- ChangeWorkspace (1)
- CurrentWorkingWorkspace (1)
- EXTENDED (1)
- HTTPNotExtended (1)
- Help (1)
- Importer (1)
- Meta (1)
- Nop (1)
-
OVERRIDE
_ PRIVATE _ ONLY (1) - PopWorkspace (1)
- PushWorkspace (1)
- Workspaces (1)
-
accept
_ nonblock (2) - bind (1)
-
connect
_ nonblock (1) -
create
_ value (1) - execute (9)
- extended (1)
- fiddle (1)
-
fiddle
/ import (1) -
fiddle
/ types (1) -
irb
/ completion (1) -
irb
_ context (1) -
irb
_ load (1) -
irb
_ require (1) -
is
_ a? (1) -
kind
_ of? (1) - new (1)
- open (4)
-
open
_ uri (2) - read (1)
-
read
_ nonblock (2) -
recvfrom
_ nonblock (1) -
ruby 1
. 6 feature (1) -
singleton
_ methods (1) - sizeof (1)
- struct (1)
- union (1)
- value (1)
-
write
_ nonblock (2) - クラス/メソッドの定義 (1)
検索結果
先頭5件
- Object
# extend(*modules) -> self - OpenURI
:: OpenRead # open(mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO - OpenURI
:: OpenRead # open(mode = & # 39;r& # 39; , perm = nil , options = {}) {|sio| . . . } -> nil - Net
:: HTTPNotExtended - OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO
-
Object
# extend(*modules) -> self (54502.0) -
引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。
引数で指定したモジュールのインスタンスメソッドを self の特異
メソッドとして追加します。
Module#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに使用します。
引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。
@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。
//emlist[][ruby]{
module Foo
def a
'ok Foo'
en... -
OpenURI
:: OpenRead # open(mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (36619.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 (36619.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 無視されます... -
Net
:: HTTPNotExtended (36001.0) -
HTTP レスポンス 510 (Not Extended) を表現するクラスです。
HTTP レスポンス 510 (Not Extended) を表現するクラスです。
詳しくは 2774 を見てください。 -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (27637.0) -
URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。
URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read
OpenURI.open_uri('http://www.example.com'){|... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) {|sio| . . . } -> nil (27637.0) -
URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。
URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read
OpenURI.open_uri('http://www.example.com'){|... -
IRB
:: ExtendCommandBundle :: OVERRIDE _ PRIVATE _ ONLY -> 2 (27319.0) -
irb でコマンドのエイリアスを定義する際に、既にこれからエイリアス先に指 定したメソッド名と同名の public メソッドが定義済みではなかった場合のみ、 エイリアスを定義する事を指定するフラグです。
irb でコマンドのエイリアスを定義する際に、既にこれからエイリアス先に指
定したメソッド名と同名の public メソッドが定義済みではなかった場合のみ、
エイリアスを定義する事を指定するフラグです。
@see IRB::ExtendCommandBundle.def_extend_command -
Regexp
:: EXTENDED -> Integer (27301.0) -
バックスラッシュでエスケープされていない空白と # から改行までを無 視します。正規表現リテラルの //x オプションと同じ です。(空白を入れる場合は\でエスケープして\ (<-空白)と 指定します)
バックスラッシュでエスケープされていない空白と # から改行までを無
視します。正規表現リテラルの //x オプションと同じ
です。(空白を入れる場合は\でエスケープして\ (<-空白)と
指定します) -
IRB
:: ExtendCommand :: ChangeWorkspace (27001.0) -
irb 中の irb_change_workspace コマンドのための拡張を定義したクラスです。
irb 中の irb_change_workspace コマンドのための拡張を定義したクラスです。 -
IRB
:: ExtendCommand :: CurrentWorkingWorkspace (27001.0) -
irb 中の irb_current_working_workspace コマンドのための拡張を定義したク ラスです。
irb 中の irb_current_working_workspace コマンドのための拡張を定義したク
ラスです。 -
IRB
:: ExtendCommand :: Help (27001.0) -
irb 中の help コマンドのための拡張を定義したクラスです。
irb 中の help コマンドのための拡張を定義したクラスです。 -
IRB
:: ExtendCommand :: Nop (27001.0) -
irb 中でコマンドを拡張するクラスのベースになるクラスです。サブクラスを 定義してコマンドを拡張します。
irb 中でコマンドを拡張するクラスのベースになるクラスです。サブクラスを
定義してコマンドを拡張します。 -
IRB
:: ExtendCommand :: PopWorkspace (27001.0) -
irb 中の irb_pop_workspace コマンドのための拡張を定義したクラスです。
irb 中の irb_pop_workspace コマンドのための拡張を定義したクラスです。 -
IRB
:: ExtendCommand :: PushWorkspace (27001.0) -
irb 中の irb_push_workspace コマンドのための拡張を定義したクラスです。
irb 中の irb_push_workspace コマンドのための拡張を定義したクラスです。 -
IRB
:: ExtendCommand :: Workspaces (27001.0) -
irb 中の irb_workspaces コマンドのための拡張を定義したクラスです。
irb 中の irb_workspaces コマンドのための拡張を定義したクラスです。 -
URI
. open(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO | Tempfile | IO (18667.0) -
name が http:// や https://、ftp:// で始まっている文字列なら URI のリソースを 取得した上で StringIO オブジェクトまたは Tempfile オブジェクトとして返します。 返されるオブジェクトは OpenURI::Meta モジュールで extend されています。
name が http:// や https://、ftp:// で始まっている文字列なら URI のリソースを
取得した上で StringIO オブジェクトまたは Tempfile オブジェクトとして返します。
返されるオブジェクトは OpenURI::Meta モジュールで extend されています。
name に open メソッドが定義されている場合は、*rest を引数として渡し
name.open(*rest, &block) のように name の open メソッドが呼ばれます。
これ以外の場合は、name はファイル名として扱われ、従来の
Kernel.#open(n... -
URI
. open(name , mode = & # 39;r& # 39; , perm = nil , options = {}) {|ouri| . . . } -> object (18667.0) -
name が http:// や https://、ftp:// で始まっている文字列なら URI のリソースを 取得した上で StringIO オブジェクトまたは Tempfile オブジェクトとして返します。 返されるオブジェクトは OpenURI::Meta モジュールで extend されています。
name が http:// や https://、ftp:// で始まっている文字列なら URI のリソースを
取得した上で StringIO オブジェクトまたは Tempfile オブジェクトとして返します。
返されるオブジェクトは OpenURI::Meta モジュールで extend されています。
name に open メソッドが定義されている場合は、*rest を引数として渡し
name.open(*rest, &block) のように name の open メソッドが呼ばれます。
これ以外の場合は、name はファイル名として扱われ、従来の
Kernel.#open(n... -
IRB
:: ExtendCommand :: Nop . new(conf) -> IRB :: ExtendCommand :: Nop (18601.0) -
自身を初期化します。ユーザが直接使用するものではありません。
自身を初期化します。ユーザが直接使用するものではありません。
@param conf IRB::Context オブジェクトを指定します。 -
Module
# extended(obj) -> () (18505.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... -
OpenURI
:: OpenRead # read(options = {}) -> String (18385.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 -
OpenSSL
:: SSL :: SSLSocket # accept _ nonblock -> self (18337.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::S... -
UNIXServer
# accept _ nonblock -> UnixSocket (18319.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
接続した
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの例外が
発生した場合は、その例外には IO::WaitReadable が extend
されます。それを利用してリトライ可能な例外を掴まえることができます。
require 'socket... -
IRB
:: ExtendCommand :: Nop # execute(*opts) -> () (18301.0) -
何もしません。サブクラスでオーバーライドして使用します。
何もしません。サブクラスでオーバーライドして使用します。
@param opts irb 中でコマンドに渡す引数を指定します。 -
IRB
:: ExtendCommand :: Nop . execute(conf , *opts) -> () (18301.0) -
コマンドを実行します。ユーザが直接使用するものではありません。
コマンドを実行します。ユーザが直接使用するものではありません。
@param conf IRB::Context オブジェクトを指定します。
@param opts irb 中でコマンドに渡す引数を指定します。 -
IRB
:: ExtendCommand :: PopWorkspace # execute(*obj) -> [IRB :: WorkSpace] (18301.0) -
UNIX シェルコマンドの popd と同じです。
UNIX シェルコマンドの popd と同じです。
@param obj 使用しません。 -
IRB
:: ExtendCommand :: PushWorkspace # execute(*obj) -> [IRB :: WorkSpace] (18301.0) -
UNIX シェルコマンドの pushd と同じです。
UNIX シェルコマンドの pushd と同じです。
@param obj IRB::WorkSpace オブジェクトを指定します。複数指定した
場合は先頭のオブジェクトのみが設定されます。 -
IRB
:: ExtendCommand :: Workspaces # execute(*obj) -> [IRB :: WorkSpace] (18301.0) -
現在のワークスペースの一覧を返します。
現在のワークスペースの一覧を返します。
@param obj 使用しません。 -
fiddle
/ import (18127.0) -
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。
通常は fiddle ライブラリを使わずこの fiddle/import ライブラリを使います。
主な使い方は fiddle も参照してください。
=== 高度な使用法
==== ○○の配列を関数に渡したい
例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。
require 'fiddle/import'
m... -
fiddle
/ types (18037.0) -
C の型の別名を定義するライブラリです。
C の型の別名を定義するライブラリです。
Fiddle::Win32Types や Fiddle::BasicTypes を Module#include する
ことで、Fiddle::Importer#extern や Fiddle::Importer#struct で
利用できる型が増えます。内部で Fiddle::Importer#typealias を
呼び出しています。
実装の問題があるため、 Fiddle::Importer#dlload を呼びだしてから
include してください。
例
require 'fiddle/import'
require 'fiddl... -
Fiddle
:: Importer (18019.0) -
C の関数をモジュールにインポートするためのモジュールです。
C の関数をモジュールにインポートするためのモジュールです。
対象となるモジュールに Object#extend することで、
そのモジュールにインポートできるようになります。
使いかたは fiddle や fiddle/import を参照してください。 -
irb
/ completion (18019.0) -
irb の completion 機能を提供するライブラリです。
irb の completion 機能を提供するライブラリです。
=== 使い方
$ irb -r irb/completion
とするか, ~/.irbrc 中に
require "irb/completion"
を入れてください.
irb実行中に require "irb/completion" してもよいです.
irb 実行中に [Tab] を押すとコンプレーションします.
トップレベルで [Tab] を押すとすべての構文要素, クラス,
メソッドの候補がでます. 候補が唯一ならば完全に補完します.
irb(main):001:0> in
in... -
IRB
:: ExtendCommand :: ChangeWorkspace # execute(*obj) -> obj (18001.0) -
irb の self を obj で指定したオブジェクトに設定します。self に設定され たオブジェクトを返します。
irb の self を obj で指定したオブジェクトに設定します。self に設定され
たオブジェクトを返します。
@param obj 任意のオブジェクトを指定できます。複数指定した場合は先頭のオ
ブジェクトのみが設定されます。 -
IRB
:: ExtendCommand :: CurrentWorkingWorkspace # execute(*obj) -> obj (18001.0) -
irb の self を返します。
irb の self を返します。
@param obj 使用しません。 -
IRB
:: ExtendCommand :: Help # execute(*names) -> nil (18001.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 :: Nop # irb _ context -> IRB :: Context (18001.0) -
irb の現在の設定(IRB::Context)を返します。
irb の現在の設定(IRB::Context)を返します。 -
クラス/メソッドの定義 (9667.0)
-
クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined
クラス/メソッドの定義
* クラス/メソッドの定義:
* class
* singleton_class
* module
* method
* operator
* nest_method
* eval_method
* singleton_method
* class_method
* limit
* 定義に関する操作:
* alias
* undef
* defined
===[a:class] クラス定義
//emlist[例][ruby]{
class Foo < S... -
Fiddle
:: Importer # create _ value(type , val = nil) -> Fiddle :: CStruct (9355.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 # value(type , val = nil) -> Fiddle :: CStruct (9355.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 # bind(signature , *opts) { . . . } -> Fiddle :: Function (9337.0) -
Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。
Ruby のブロックを C の関数で wrap し、その関数をモジュールに
インポートします。
これでインポートされた関数はモジュール関数として定義されます。
また、Fiddle::Importer#[] で Fiddle::Function オブジェクトとして
取り出すことができます。
signature で関数の名前とシネグチャを指定します。例えば
"int compare(void*, void*)" のように指定します。
opts には :stdcall もしくは :cdecl を渡すことができ、
呼出規約を明示することができます。
@return インポートした関数を表す ... -
IRB
:: ExtendCommand :: Load # execute(file _ name , priv = nil) -> nil (9301.0) -
ファイル path を Ruby スクリプトとみなし、現在の irb インタプリタ上で実 行します。
ファイル path を Ruby スクリプトとみなし、現在の irb インタプリタ上で実
行します。
Kernel.#load と異なり、path の内容を irb で一行ずつタイプしたかの
ように、irb 上で一行ずつ評価されます。
@param file_name ファイル名を文字列で指定します。
@param priv 真を指定した場合は実行は内部的に生成される無名モジュール上
で行われ、グローバルな名前空間を汚染しません。
@raise LoadError 読み込みに失敗した場合に発生します。 -
IRB
:: ExtendCommandBundle # irb _ load(*opts , &b) -> nil (9301.0) -
現在の irb に関する IRB::Context に対して irb_load コマンドを実行 します。
現在の irb に関する IRB::Context に対して irb_load コマンドを実行
します。
@see IRB::ExtendCommand::Load#execute -
IRB
:: ExtendCommandBundle # irb _ require(*opts , &b) -> bool (9301.0) -
現在の irb に関する IRB::Context に対して irb_require コマンドを 実行します。
現在の irb に関する IRB::Context に対して irb_require コマンドを
実行します。
@see IRB::ExtendCommand::Require#execute -
Fiddle
:: Importer # sizeof(t) -> Integer (9073.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 (9055.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
... -
OpenURI
:: Meta (9049.0) -
サーバから取得したデータの属性を扱うために使われるモジュールです。 データを表す文字列や StringIO が extend します。
サーバから取得したデータの属性を扱うために使われるモジュールです。
データを表す文字列や StringIO が extend します。 -
OptionParser
:: Arguable (9049.0) -
主に Object::ARGV を拡張するために用意されたモジュールです。 optparse を require することにより、ARGV は OptionParser::Arguable を Object#extend します。
主に Object::ARGV を拡張するために用意されたモジュールです。
optparse を require することにより、ARGV は
OptionParser::Arguable を Object#extend します。
コマンドライン引数を表す文字列の配列を、拡張するためにも使うことができます。 -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (9037.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... -
Fiddle
:: Importer # union(signature) -> Class (9019.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... -
OpenSSL
:: Buffering # read _ nonblock(maxlen , buf) -> String (9019.0) -
通信路から maxlen バイトを上限としてデータを読み込み、 文字列として返します。
通信路から maxlen バイトを上限としてデータを読み込み、
文字列として返します。
即座に得られるデータが 1byte でも存在すればブロックしません。
内部バッファが空でない場合はバッファのデータを返します。
即座に得られるデータが存在しないときには例外が発生します。
例外が発生した場合、内部のソケットが利用可能になってから
再びこのメソッドを呼んでください。
基本的には IO#read_nonblock と同様です。しかし以下のような
違いもあります。
このメソッドはソケットが書き込み不可能(IO::WaitWritable)という理由で
例外を発生させる可能性があります。暗号... -
OpenSSL
:: Buffering # write _ nonblock(s) -> Integer (9019.0) -
文字列 s をノンブロッキングモードで書き込みます。
文字列 s をノンブロッキングモードで書き込みます。
成功した場合、書き込んだバイト数を返します。
1 バイトも書くことができず、ソケットの状態が変化するのを
待つ必要がある場合は例外を発生させます。
例外が発生した場合、内部のソケットが利用可能になってから
再びこのメソッドを呼んでください。
ただし内部バッファに書き込んでいないデータが残っている場合は、
まずバッファの内容をすべて出力してします。この時点で
ブロックする可能性があります。
基本的には IO#write_nonblock と同様です。しかし以下のような
違いもあります。
このメソッドはソケットが読み込み不可能(IO:... -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (9019.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::S... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (4627.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への変更点(まとめ)/サポートプラットフォームの追加>))
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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
ruby 1
. 6 feature (2377.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (319.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 (319.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... -
fiddle (217.0)
-
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。
dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。
=== 使い方
通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユーザが定義した
モジュールを拡張する形で使います。
require ... -
Object
# singleton _ methods(inherited _ too = true) -> [Symbol] (127.0) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
そのオブジェクトに対して定義されている特異メソッド名
(public あるいは protected メソッド) の一覧を返します。
inherited_too が真のときは継承した特異メソッドを含みます。
継承した特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。
singleton_methods(false) は、Object#methods(false) と同じです。
@param inherited_too 継承した特異メソッドを含める場合は... -
Object
# is _ a?(mod) -> bool (109.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 (109.0) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
また、オブジェクトがモジュール mod をインクルードしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。
@param mod クラスやモジュールなど、Moduleかそのサブクラスのインスタンスです。
//emlist[][ruby]{
module M
end
c...