種類
- インスタンスメソッド (1410)
- モジュール関数 (33)
- 特異メソッド (33)
- クラス (11)
クラス
- BasicObject (66)
- Data (18)
- Enumerator (55)
-
Enumerator
:: Lazy (11) - Fiber (26)
-
File
:: Stat (11) - Hash (94)
- IO (198)
- Method (94)
- Module (158)
- Mutex (6)
- NameError (9)
- Numeric (11)
- Object (110)
- Proc (22)
- Random (33)
- Range (23)
- String (22)
- Struct (136)
- SystemCallError (11)
- Thread (124)
-
Thread
:: Backtrace :: Location (33) -
Thread
:: ConditionVariable (18) -
Thread
:: Mutex (27) -
Thread
:: Queue (9) -
Thread
:: SizedQueue (9) - ThreadGroup (22)
- TracePoint (22)
- UnboundMethod (21)
モジュール
- Enumerable (44)
- ObjectSpace (33)
キーワード
- ! (11)
- != (11)
- < (11)
- <=> (33)
- == (35)
- === (40)
- UnboundMethod (11)
- [] (11)
-
_ dump (11) -
absolute
_ path (11) - add (11)
-
alias
_ method (8) -
backtrace
_ locations (22) -
base
_ label (11) - bind (11)
-
bind
_ call (10) - broadcast (9)
- call (22)
-
class
_ eval (22) -
class
_ exec (11) - clear (11)
- close (18)
- closed? (11)
- coerce (11)
- deconstruct (2)
-
deconstruct
_ keys (2) - default (22)
-
define
_ finalizer (22) -
defined
_ class (11) - dig (9)
- display (11)
- each (132)
-
each
_ char (22) -
each
_ entry (22) -
each
_ line (66) -
each
_ pair (22) -
each
_ with _ index (22) - enclose (11)
- entries (6)
-
enum
_ for (22) - eql? (13)
- equal? (11)
- exit (11)
- extend (11)
- extended (11)
- hash (11)
-
initialize
_ copy (11) - inspect (46)
-
instance
_ eval (22) -
instance
_ exec (11) -
instance
_ method (11) - join (22)
- kill (11)
- merge (22)
-
module
_ eval (22) -
module
_ exec (11) - name= (9)
- owned? (11)
- prepend (11)
- private (7)
- raise (15)
- rand (33)
- receiver (9)
- reopen (33)
- replace (11)
- resume (11)
- run (11)
-
safe
_ level (5) - shift (11)
- signal (9)
-
singleton
_ methods (11) - size (11)
-
super
_ method (10) - synchronize (11)
- terminate (11)
-
to
_ a (6) -
to
_ enum (22) -
to
_ h (38) -
to
_ proc (11) -
to
_ s (46) - unbind (11)
-
undef
_ method (11) -
undefine
_ finalizer (11) - unlock (11)
- value (11)
- wakeup (11)
- with (2)
検索結果
先頭5件
-
Range
. new(first , last , exclude _ end = false) -> Range (26175.0) -
first から last までの範囲オブジェクトを生成して返しま す。
...[例: 整数の範囲オブジェクトの場合][ruby]{
Range.new(1, 10) # => 1..10
Range.new(1, 10, true) # => 1...10
//}
//emlist[例: 日付オブジェクトの範囲オブジェクトの場合][ruby]{
require 'date'
Range.new(Date.today, Date.today >> 1).each {|d| puts d }
# => 2017-09-......y]{
require 'ipaddr'
Range.new(IPAddr.new("192.0.2.1"), IPAddr.new("192.0.2.3")).each {|ip| puts ip}
# => 192.0.2.1
# 192.0.2.2
# 192.0.2.3
//}
//emlist[例: 自作のオブジェクトの場合][ruby]{
MyInteger = Struct.new(:value) do
def succ
self.class.new(value + 1)
end
def <=......>(other)
value <=> other.value
end
def to_s
value.to_s
end
end
Range.new(MyInteger.new(1), MyInteger.new(3)).each {|i| puts i }
# => 1
# 2
# 3
//}... -
Enumerator
:: Lazy . new(obj , size=nil) {|yielder , *values| . . . } -> Enumerator :: Lazy (26121.0) -
Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を 指定できます。
...する例][ruby]{
module Enumerable
def filter_map(&block)
map(&block).compact
end
end
class Enumerator::Lazy
def filter_map
Lazy.new(self) do |yielder, *values|
result = yield *values
yielder << result if result
end
end
end
1.step.lazy.filter_map{|i| i*i if i.even?......}.first(5)
# => [4, 16, 36, 64, 100]
//}
@raise ArgumentError 引数を指定しなかった場合、ブロックを指定しなかった場合に発生します。
@see Enumerator.new... -
Module
# alias _ method(new , original) -> self (8216.0) -
メソッドの別名を定義します。
...に対して使用することはできません。
@param new 新しいメソッド名。String または Symbol で指定します。
@param original 元のメソッド名。String または Symbol で指定します。
@return self を返します。
@see d:spec/def#alias
//emlist[例][ruby]... -
Module
# prepend(*modules) -> self (8165.0) -
指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。
...ールを self の継承チェインの先頭に「追加する」ことで
self の定数、メソッド、モジュール変数を「上書き」します。
継承チェイン上で、self のモジュール/クラスよりも「手前」に
追加されるため、結果として self で定義......「上書き」を処理するため、prependの引数として
渡したモジュールのインスタンスメソッドでsuperを呼ぶことで
self のモジュール/クラスのメソッドを呼び出すことができます。
実際の処理は modules の各要素の prepend_features......ule X
def foo
puts "X1" # (1x)
super # (2x)
puts "X2" # (3x)
end
end
class A
prepend X
def foo
puts "A" #(1a)
end
end
A.new.foo
# (1x) (2x)(ここの super で A#foo を呼びだす) (1a) (3x) の順に実行される
# >> X1
# >> A
# >> X2
# 2つのモジュールを X... -
Thread
# join -> self (8154.0) -
スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。
...スレッド self の実行が終了するまで、カレントスレッドを停止し
ます。self が例外により終了していれば、その例外がカレントス
レッドに対して発生します。
limit を指定して、limit 秒過ぎても自身が終了しない場合、nil......。
以下は、生成したすべてのスレッドの終了を待つ例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| t.join}... -
Thread
# join(limit) -> self | nil (8154.0) -
スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。
...スレッド self の実行が終了するまで、カレントスレッドを停止し
ます。self が例外により終了していれば、その例外がカレントス
レッドに対して発生します。
limit を指定して、limit 秒過ぎても自身が終了しない場合、nil......。
以下は、生成したすべてのスレッドの終了を待つ例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.each {|t| t.join}... -
Hash
# merge(*others) {|key , self _ val , other _ val| . . . } -> Hash (8147.0) -
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。 デフォルト値はselfの設定のままです。
...
selfとothersのハッシュの内容を順番にマージ(統合)した結果を返します。
デフォルト値はselfの設定のままです。
self と others に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブ......1.merge(h2, h3) #=> {"a"=>100, "b"=>357, "c"=>300, "d"=>400}
h1.merge(h2) {|key, oldval, newval| newval - oldval}
#=> {"a"=>100, "b"=>46, "c"=>300}
h1.merge(h2, h3) {|key, oldval, newval| newval - oldval}
#=> {"a"=>100, "b"=>311, "c"=>300, "d"=>400}
h1......{:Australia => 'Sydney',
:France => 'Paris'
}
end
end
h = {:Germany => 'Berlin',
:Australia => 'Canberra',
:France => 'Paris'
}
# 暗黙の変換
p h.merge(Foo.new) # => {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}
//}
@see Hash#update,Hash#replace... -
Hash
# merge(other) {|key , self _ val , other _ val| . . . } -> Hash (8147.0) -
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
...
selfとotherのハッシュの内容をマージ(統合)した結果を返します。デフォルト値はselfの設定のままです。
self と other に同じキーがあった場合はブロック付きか否かで
判定方法が違います。ブロック付きのときはブロックを......"b" => 254, "c" => 300 }
h1.merge() # => {"a"=>100, "b"=>200}
h1.merge(h2) # => {"a"=>100, "b"=>254, "c"=>300}
h1.merge(h2){|key, oldval, newval| newval - oldval}
# => {"a"=>100, "b"=>54, "c"=>300}
h1 # => {"a"=>100, "b"=>200}
//}
//emlist[][ruby]{
foo = {1 => 'a'......{:Australia => 'Sydney',
:France => 'Paris'
}
end
end
h = {:Germany => 'Berlin',
:Australia => 'Canberra',
:France => 'Paris'
}
# 暗黙の変換
p h.merge(Foo.new) # => {:Germany=>"Berlin", :Australia=>"Sydney", :France=>"Paris"}
//}
@see Hash#update,Hash#replace... -
Hash
# to _ h -> self | Hash (8141.0) -
self を返します。Hash クラスのサブクラスから呼び出した場合は self を Hash オブジェクトに変換します。
...
self を返します。Hash クラスのサブクラスから呼び出した場合は
self を Hash オブジェクトに変換します。
//emlist[例][ruby]{
hash = {}
p hash.to_h # => {}
p hash.to_h == hash # => true
class MyHash < Hash;end
my_hash = MyHash.new
p my_hash.to_h # =>... -
Mutex
# unlock -> self (8139.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
...ロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
@return self を返します。
例:
m = Mutex.new
begin
m.lock
# critical part
ensure
m.unlock
end
Mutex はロックしたスレッド以外からロックを開......外から unlock が呼ばれると ThreadError が発生します。
m = Mutex.new
m.lock
Thread.new do
m.unlock # => ThreadError
end.join
@raise ThreadError self がロックされていない場合や self をロックしたス
レッド以外から呼ばれた場合... -
Thread
:: Mutex # unlock -> self (8139.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
...ロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
@return self を返します。
例:
m = Mutex.new
begin
m.lock
# critical part
ensure
m.unlock
end
Mutex はロックしたスレッド以外からロックを開......外から unlock が呼ばれると ThreadError が発生します。
m = Mutex.new
m.lock
Thread.new do
m.unlock # => ThreadError
end.join
@raise ThreadError self がロックされていない場合や self をロックしたス
レッド以外から呼ばれた場合... -
ThreadGroup
# enclose -> self (8139.0) -
自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。 enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。
...ead.new によるスレッドの追加は禁止されません。enclose されたスレッドグループ A に
属するスレッドが新たにスレッドを生成した場合、生成されたスレッドはスレッドグループ A に属します。
追加の例:
thg = ThreadGroup.new.en......close
thg.add Thread.new {}
=> -:2:in `add': can't move to the enclosed thread group (ThreadError)
削除の例:
thg1 = ThreadGroup.new
thg2 = ThreadGroup.new
th = Thread.new {sleep 1}
thg1.add th
thg1.enclose
thg2.add th
=> -:8:in `add': can't move from the enclosed thread g...