るりまサーチ

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

別のキーワード

  1. delegate __setobj__
  2. delegate __getobj__
  3. _builtin __send__
  4. weakref __setobj__
  5. weakref __getobj__

ライブラリ

キーワード

検索結果

Proc (6055.0)

ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。

...た手続きオブジェクトです。

P
roc は ローカル変数のスコープを導入しないことを除いて
名前のない関数のように使えます。ダイナミックローカル変数は
P
roc ローカルの変数として使えます。

P
roc がローカル変数のスコー...
...][ruby]{
var = 1
$foo = Proc.new { var }
var = 2

def foo
$foo.call
end

p
foo # => 2
//}

===[a:should_use_next] 手続きを中断して値を返す

手続きオブジェクトを中断して、呼出し元(呼び出しブロックでは yield、それ以外では Proc#call)
へジャン...
...[ruby]{
def foo
f = Proc.new{
next 1
2 # この行に到達することはない
}
end

p
foo().call #=> 1
//}

===[a:block] Proc オブジェクトをブロック付きメソッド呼び出しに使う

ブロック付きメソッドに対して Proc オブジェク...

TracePoint (6023.0)

Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で 提供するクラスです。

...Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で
提供するクラスです。

//emlist[例:例外に関する情報を収集する][ruby]{
trace = TracePoint.new(:raise) do |tp|
p
[tp.lineno, tp.event, tp.raised_exception]
end
# => #<TracePoint:0x007f786a452448...
...ivided by 0>]
//}

TracePoint.new または、TracePoint.trace で指定したブロック
は、メソッドの引数(上記の例では :raise)に対応するイベントが発生した時に
呼び出されます。

発生するイベントの詳細については、TracePoint.new を参照し...
...ダー #12 TracePoint の紹介 (1): https://www.atdot.net/~ko1/diary/201212.html#d12
* Ruby VM アドベントカレンダー #13 TracePoint の紹介 (2): https://www.atdot.net/~ko1/diary/201212.html#d13
* Ruby VM アドベントカレンダー #14 TracePoint の紹介 (3): https://www.atdot.net...

Complex (6007.0)

複素数を扱うクラスです。

...Complex オブジェクトを作成するには、Kernel.#Complex、
Complex.rect、Complex.polar、Numeric#to_c、
String#to_c のいずれかを使用します。

//emlist[Complex オブジェクトの作り方][ruby]{
Complex(1) # => (1+0i)
Complex(2, 3) # => (2+3i)
Complex.pola...
...r(2, 3) # => (-1.9799849932008908+0.2822400161197344i)
Complex(0.3) # => (0.3+0i)
Complex('0.3-0.5i') # => (0.3-0.5i)
Complex('2/3+3/4i') # => ((2/3)+(3/4)*i)
Complex('1@2') # => (-0.4161468365471424+0.9092974268256817i)
3.to_c # => (3+0i)
0.3.to_c # => (0....
...# => ((2/3)+(3/4)*i)
'1@2'.to_c # => (-0.4161468365471424+0.9092974268256817i)
//}

Complex オブジェクトは有理数の形式も実数の形式も扱う事ができます。

//emlist[例][ruby]{
Complex(1, 1) / 2 # => ((1/2)+(1/2)*i)
Complex(1, 1) / 2.0 # => (0.5+0.5i)
//}...

Pathname (6007.0)

パス名をオブジェクト指向らしく扱うクラスです。

...うクラスです。

P
athname オブジェクトはパス名を表しており、ファイルやディレクトリそのものを表してはいません。
当然、存在しないファイルのパス名も扱えます。

絶対パスも相対パスも扱えます。

P
athname オブジェク...
...するメソッドはありません。

P
athname のインスタンスメソッドには、ディレクトリのパスを返す Pathname#dirname のように、
文字列操作だけで結果を返すものもあれば、ファイルの中身を読み出す Pathname#read のように
ファイル...
...ムにアクセスするものもあります。

P
athname オブジェクトの生成には、Pathname.new のほかに Kernel#Pathname も使えます。

//emlist[例][ruby]{
require 'pathname'

P
athname.new("foo/bar") # => #<Pathname:foo/bar>
P
athname("foo/bar") # => #<Pathname:foo/bar>
//}...

Continuation (13.0)

継続を表すクラスです。

...継続を表すクラスです。

Kernel
.#callcc { |cont| ... } の呼び出し
は、直前の状態(ローカル変数の定義、スタックフレーム)を cont に記憶
してブロックを実行します。cont は、Continuation クラスのインスタ
ンスで、Continuation#call メ...
...を実行するこ
とでいつでも記憶した状態を継続することができます。

C 言語の setjmp()/longjmp() がわかる人は
setjmp() == callcc {|c| }
longjmp() == c.call
と考えれば、わかりやすいかも知れません(ただし、callcc はスタックが深く...
...args を返します。

例:

以下は、Continuationによる無限ループの例

def LOOP
c = nil
yield callcc {|cnt| c = cnt; true }
c.call(false)
end

LOOP {|v| p v}

=> true
false
false
false
:
:

callcc とは、call-with-current-co...

絞り込み条件を変える