種類
- インスタンスメソッド (21)
- クラス (7)
- モジュール関数 (4)
- 文書 (2)
- 特異メソッド (2)
クラス
モジュール
- Kernel (4)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (1) - BlockCaller (1)
- Enclosure (3)
- EnclosureBase (1)
- Proc (1)
- args (1)
- call (1)
- ctype (1)
- enclosure (2)
- enclosure= (1)
-
exit
_ value (1) - lambda (2)
- length (2)
- length= (2)
- new (2)
- proc (2)
- reason (1)
-
to
_ i (1) - type (2)
- type= (2)
- url (2)
- url= (2)
- 手続きオブジェクトの挙動の詳細 (1)
検索結果
先頭5件
-
Fiddle
:: Closure (54073.0) -
コールバック関数を表すクラスです。
コールバック関数を表すクラスです。
Ruby のメソッド(call)を C の関数ポインタとして表現するためのクラスです。
FFI の closure の wrapper です。
利用法としては、このクラスのサブクラスを作って
そのサブクラスに call メソッドを定義し、
new でオブジェクトを生成することで利用します。
require 'fiddle'
include Fiddle # TYPE_* を使うために include する
class Compare < Fiddle::Closure
# qsort の比較関数は 型が int(*)(v... -
RSS
:: Rss :: Channel :: Item # enclosure (18301.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item # enclosure= (18301.0) -
@todo
@todo -
RSS
:: Maker :: ItemsBase :: ItemBase :: EnclosureBase (18001.0) -
-
RSS
:: Maker :: RSS09 :: Items :: Item :: Enclosure (18001.0) -
-
RSS
:: Maker :: RSS20 :: Items :: Item :: Enclosure (18001.0) -
RSS 2.0を生成するときだけ利用されます.
RSS 2.0を生成するときだけ利用されます.
url,length,typeを設定する必要があります. -
RSS
:: Rss :: Channel :: Item :: Enclosure (18001.0) -
-
Fiddle
:: Closure . new(ret , args , abi=Fiddle :: Function :: DEFAULT) -> Fiddle :: Closure (9352.0) -
そのクラスの call メソッドを呼びだすような Fiddle::Closure オブジェクトを返します。
そのクラスの call メソッドを呼びだすような
Fiddle::Closure オブジェクトを返します。
args、ret で関数の引数と返り値の型を指定します。
指定は Fiddle::Function.new と同様なので、そちら
を参照してください。
@param ret 返り値の型
@param args 引数の型を表す配列
@param abi 呼出規約 -
Fiddle
:: Closure :: BlockCaller . new(ret , args , abi=Fiddle :: Function :: DEFAULT) { . . . } -> Fiddle :: Closure :: BlockCaller (9352.0) -
Ruby のブロックを呼び出す Fiddle::Closure オブジェクトを返します。
Ruby のブロックを呼び出す Fiddle::Closure オブジェクトを返します。
args、ret で関数の引数と返り値の型を指定します。
指定は Fiddle::Function.new と同様なので、そちら
を参照してください。
@param ret 返り値の型
@param args 引数の型を表す配列
@param abi 呼出規約 -
RSS
:: Maker :: ItemsBase :: ItemBase # enclosure (9301.0) -
@todo
@todo -
Fiddle
:: Closure :: BlockCaller (9019.0) -
Ruby のブロックをラップしたコールバック関数を表すクラスです。
Ruby のブロックをラップしたコールバック関数を表すクラスです。
Ruby のブロックを C の関数ポインタとして表現するためのクラスです。
require 'fiddle'
include Fiddle
libc = Fiddle.dlopen("/lib/libc.so.6")
qs = Fiddle::Function.new(libc["qsort"],
[TYPE_VOIDP, TYPE_INT, TYPE_INT, TYPE_VOIDP],
TYP... -
Fiddle
:: Closure # args -> [Integer] (9001.0) -
引数の型を表す配列を返します。
引数の型を表す配列を返します。 -
Fiddle
:: Closure # ctype -> Integer (9001.0) -
返り値の型を返します。
返り値の型を返します。 -
Fiddle
:: Closure # to _ i -> Integer (9001.0) -
C の関数ポインタのアドレスを返します。
C の関数ポインタのアドレスを返します。 -
Fiddle
:: Closure :: BlockCaller # call(*args) -> object (9001.0) -
wrap しているブロックを呼び出します。
wrap しているブロックを呼び出します。
そのブロックの返り値がこのメソッドの返り値となります。
@param args 引数 -
RSS
:: Maker :: RSS20 :: Items :: Item :: Enclosure # length (9001.0) -
@todo
@todo -
RSS
:: Maker :: RSS20 :: Items :: Item :: Enclosure # length=() (9001.0) -
@todo
@todo -
RSS
:: Maker :: RSS20 :: Items :: Item :: Enclosure # type (9001.0) -
@todo
@todo -
RSS
:: Maker :: RSS20 :: Items :: Item :: Enclosure # type=() (9001.0) -
@todo
@todo -
RSS
:: Maker :: RSS20 :: Items :: Item :: Enclosure # url (9001.0) -
@todo
@todo -
RSS
:: Maker :: RSS20 :: Items :: Item :: Enclosure # url=() (9001.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Enclosure # length (9001.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Enclosure # length= (9001.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Enclosure # type (9001.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Enclosure # type= (9001.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Enclosure # url (9001.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Enclosure # url= (9001.0) -
@todo
@todo -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (37.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への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>))... -
LocalJumpError
# exit _ value -> object (37.0) -
例外 LocalJumpError を発生する原因となった break や return に渡した値を返します。
例外 LocalJumpError を発生する原因となった
break や return に渡した値を返します。
例:
def foo
proc { return 10 }
end
begin
foo.call
rescue LocalJumpError => err
p err # => #<LocalJumpError: return from block-closure>
p err.reason # => :return
p err.exit_value # => 10
e... -
LocalJumpError
# reason -> Symbol (37.0) -
例外を発生させた原因をシンボルで返します。
例外を発生させた原因をシンボルで返します。
返す値は以下のいずれかです。
* :break
* :redo
* :retry
* :next
* :return
* :noreason
例:
def foo
proc { return 10 }
end
begin
foo.call
rescue LocalJumpError => err
p err # => #<LocalJumpError: return from block-closure>
p err.reason ... -
Kernel
. # lambda -> Proc (19.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。
ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。
ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr... -
Kernel
. # lambda { . . . } -> Proc (19.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。
ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。
ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr... -
Kernel
. # proc -> Proc (19.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。
ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。
ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr... -
Kernel
. # proc { . . . } -> Proc (19.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。
ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。
ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr... -
Proc (19.0)
-
ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
ブロックをコンテキスト(ローカル変数のスコープやスタックフ
レーム)とともにオブジェクト化した手続きオブジェクトです。
Proc は ローカル変数のスコープを導入しないことを除いて
名前のない関数のように使えます。ダイナミックローカル変数は
Proc ローカルの変数として使えます。
Proc がローカル変数のスコープを保持していることは以下の例で
変数 var を参照できていることからわかります。
//emlist[例][ruby]{
var = 1
$foo = Proc.new { var }
var = 2
def foo
$foo.call
end
p foo ... -
手続きオブジェクトの挙動の詳細 (19.0)
-
手続きオブジェクトの挙動の詳細 * def * should_use_next * block * lambda_proc * orphan
手続きオブジェクトの挙動の詳細
* def
* should_use_next
* block
* lambda_proc
* orphan
===[a:def] 手続きオブジェクトとは
手続きオブジェクトとはブロックをコンテキスト(ローカル変数のスコープやスタックフレーム)と
ともにオブジェクトにしたものです。Proc クラスのインスタンスとして実現されています。
ブロック内では、新たなスコープが導入されるとともに、外側のローカル変数を参照できます。
Proc オブジェクトがローカル変数のスコープを保持していることは以下の例で変数 var を
参照できていることからわかりま...