クラス
-
ARGF
. class (16) - Array (56)
- BasicObject (14)
- Binding (3)
- Class (6)
- Complex (1)
- Dir (10)
- Enumerator (13)
-
Enumerator
:: Lazy (5) -
Enumerator
:: Yielder (2) - Fiber (2)
- File (3)
- Hash (27)
- IO (30)
- LocalJumpError (1)
- MatchData (1)
- Method (7)
- Module (37)
- NameError (3)
- NoMethodError (1)
- Numeric (1)
- Object (91)
-
ObjectSpace
:: WeakMap (2) - Proc (3)
- Random (3)
- Range (16)
- Rational (1)
- Regexp (3)
-
RubyVM
:: InstructionSequence (1) - StopIteration (1)
- String (7)
- Struct (8)
- Thread (6)
-
Thread
:: Mutex (1) -
Thread
:: Queue (3) -
Thread
:: SizedQueue (3) - Time (1)
- TracePoint (7)
- UnboundMethod (1)
- UncaughtThrowError (2)
モジュール
- Enumerable (62)
- GC (2)
-
GC
:: Profiler (2) - Kernel (38)
- Marshal (6)
- ObjectSpace (10)
-
Process
:: GID (2) -
Process
:: UID (2)
キーワード
- ! (1)
- != (1)
- !~ (1)
-
$ * (1) -
$ -i (1) -
$ . (1) -
$ < (1) -
$ > (1) -
$ FILENAME (1) -
$ _ (1) -
$ stderr (1) -
$ stdin (1) -
$ stdout (1) - % (1)
- & (1)
- - (1)
- < (1)
- << (2)
- <= (1)
- <=> (2)
- == (4)
- === (4)
- =~ (1)
- > (1)
- >= (1)
- ARGF (2)
- ARGV (1)
- Array (1)
- BasicObject (1)
- Binding (1)
- Class (1)
- DATA (1)
- Data (1)
- ENV (2)
- Enumerator (1)
- FALSE (1)
- Float (1)
- Hash (1)
- Integer (1)
- Kernel (1)
-
MAJOR
_ VERSION (1) -
MINOR
_ VERSION (1) - Method (1)
- NIL (1)
- NameError (1)
- NoMethodError (1)
- ObjectSpace (1)
-
RUBY
_ COPYRIGHT (1) -
RUBY
_ DESCRIPTION (1) -
RUBY
_ ENGINE (1) -
RUBY
_ ENGINE _ VERSION (1) -
RUBY
_ PATCHLEVEL (1) -
RUBY
_ PLATFORM (1) -
RUBY
_ RELEASE _ DATE (1) -
RUBY
_ REVISION (1) -
RUBY
_ VERSION (1) - Rational (1)
-
SCRIPT
_ LINES _ _ (1) - STDERR (1)
- STDIN (1)
- STDOUT (1)
- String (1)
-
TOPLEVEL
_ BINDING (1) - TRUE (1)
- Thread (1)
- WeakMap (1)
- [] (8)
- []= (2)
-
_ _ id _ _ (1) -
_ _ send _ _ (2) -
_ dump (1) -
_ id2ref (1) -
_ load (1) - allocate (1)
- ancestors (1)
- args (1)
- argv (1)
- at (1)
- begin (1)
- binding (1)
- bsearch (4)
- call (2)
- catch (2)
- chdir (4)
- clamp (1)
- class (1)
-
class
_ eval (2) -
class
_ exec (1) -
class
_ variable _ get (1) -
class
_ variable _ set (1) -
class
_ variables (1) - clone (3)
- collect (4)
-
compare
_ by _ identity (1) -
const
_ defined? (1) -
const
_ get (1) -
const
_ set (1) - constants (2)
-
count
_ objects (1) - cycle (2)
- default (2)
-
define
_ finalizer (2) -
define
_ method (2) -
define
_ singleton _ method (2) - delete (4)
-
delete
_ at (1) -
deprecate
_ constant (1) - deq (2)
- detect (2)
- dig (3)
- disable (2)
- display (1)
- dump (2)
- dup (2)
- each (8)
-
each
_ byte (2) -
each
_ char (2) -
each
_ line (4) -
each
_ object (4) -
each
_ with _ object (2) - enable (2)
- end (1)
- entries (1)
-
enum
_ for (4) - eql? (4)
- equal? (3)
- eval (4)
- exclusive (1)
-
exit
_ value (1) - extend (1)
-
extend
_ object (1) - extended (1)
- feed (1)
- fetch (6)
-
fetch
_ values (2) - fill (6)
- find (2)
-
find
_ all (2) - first (6)
-
for
_ fd (1) - force (1)
- format (1)
- freeze (2)
- frozen? (1)
-
garbage
_ collect (1) - getbyte (1)
- getc (1)
- gets (1)
-
global
_ variables (1) - grep (2)
-
grep
_ v (2) -
handle
_ interrupt (1) - hash (3)
- include (2)
- index (1)
- initialize (1)
-
initialize
_ copy (1) - inject (3)
- inspect (2)
-
instance
_ eval (2) -
instance
_ exec (1) -
instance
_ method (1) -
instance
_ methods (1) -
instance
_ of? (1) -
instance
_ variable _ defined? (1) -
instance
_ variable _ get (1) -
instance
_ variable _ set (1) -
instance
_ variables (1) -
is
_ a? (1) - itself (1)
- key (1)
- keys (1)
-
kind
_ of? (1) - lambda (2)
- last (4)
-
latest
_ gc _ info (2) - load (1)
-
local
_ variable _ get (1) -
local
_ variables (1) - loop (2)
- main (1)
- map (4)
-
marshal
_ dump (1) -
marshal
_ load (1) - match (4)
- max (8)
-
max
_ by (4) - method (1)
-
method
_ missing (1) - methods (1)
- min (8)
-
min
_ by (4) - minmax (2)
-
minmax
_ by (2) -
module
_ eval (2) -
module
_ exec (1) - name (1)
- new (12)
- next (1)
-
next
_ values (1) - nil? (1)
-
object
_ id (1) - open (10)
- p (1)
- parameters (3)
- partition (2)
- peek (1)
-
peek
_ values (1) -
pending
_ interrupt? (1) - pipe (8)
- pop (4)
- popen (14)
-
private
_ constant (1) -
private
_ instance _ methods (1) -
private
_ methods (1) - proc (2)
-
protected
_ instance _ methods (1) -
protected
_ methods (1) - public (1)
-
public
_ constant (1) -
public
_ instance _ method (1) -
public
_ instance _ methods (1) -
public
_ method (1) -
public
_ methods (1) -
public
_ send (2) - putc (3)
- rand (3)
-
read
_ nonblock (1) - readline (1)
- receiver (3)
- reduce (3)
- rehash (1)
- reject (4)
-
remove
_ class _ variable (1) -
remove
_ const (1) -
remove
_ instance _ variable (1) - replace (1)
- report (1)
-
require
_ relative (1) -
respond
_ to? (1) -
respond
_ to _ missing? (1) - restore (1)
- result (2)
- resume (1)
-
return
_ value (1) - sample (4)
- select (6)
- self (1)
- send (2)
- shift (5)
-
singleton
_ class (1) -
singleton
_ method (1) -
singleton
_ method _ added (1) -
singleton
_ method _ removed (1) -
singleton
_ method _ undefined (1) -
singleton
_ methods (1) - slice (3)
- slice! (3)
- sort (2)
-
sort
_ by (2) - sprintf (1)
- stat (1)
- store (1)
- string (1)
- sum (2)
- superclass (1)
- switch (4)
- synchronize (1)
- tag (1)
- taint (1)
- tainted? (1)
- tap (1)
-
thread
_ variable _ get (1) - throw (1)
-
to
_ a (3) -
to
_ ary (1) -
to
_ enum (4) -
to
_ hash (2) -
to
_ int (1) -
to
_ io (1) -
to
_ proc (1) -
to
_ regexp (1) -
to
_ s (3) -
to
_ str (1) - trust (1)
-
try
_ convert (1) -
undefine
_ finalizer (1) - uniq (2)
- uniq! (2)
- untaint (1)
- untrust (1)
- untrusted? (1)
- value (2)
- values (2)
-
values
_ at (2) -
with
_ index (2) -
with
_ object (2) -
write
_ nonblock (1) - yield (2)
- zip (4)
- | (1)
検索結果
先頭5件
-
Enumerable
# each _ with _ object(obj) -> Enumerator (18352.0) -
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
与えられた任意のオブジェクトと要素をブロックに渡し繰り返し、最初に与えられたオブジェクトを返します。
ブロックを省略した場合は Enumerator を返します。
@param obj 任意のオブジェクトを指定します。
//emlist[例][ruby]{
evens = (1..10).each_with_object([]) {|i, a| a << i*2 }
# => [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
//}
@see Enumerator#with_object -
Enumerator
# with _ object(obj) -> Enumerator (18352.0) -
繰り返しの各要素に obj を添えてブロックを繰り返し、obj を返り値として返します。
繰り返しの各要素に obj を添えてブロックを繰り返し、obj を返り値として返します。
obj には任意のオブジェクトを渡すことができます。
ブロックが渡されなかった場合は、上で説明した繰り返しを実行し、
最後に obj を返す Enumerator を返します。
//emlist[例][ruby]{
# 0,1,2 と呼びだす enumeratorを作る
to_three = Enumerator.new do |y|
3.times do |x|
y << x
end
end
to_three_with_string = to_three.with_object... -
BasicObject (18181.0)
-
特殊な用途のために意図的にほとんど何も定義されていないクラスです。 Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。
特殊な用途のために意図的にほとんど何も定義されていないクラスです。
Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。
=== 性質
BasicObject クラスは Object クラスからほとんどのメソッドを取り除いたクラスです。
Object クラスは様々な便利なメソッドや Kernel から受け継いだ関数的メソッド
を多数有しています。
これに対して、 BasicObject クラスはオブジェクトの同一性を識別したりメソッドを呼んだりする
最低限の機能の他は一切の機能を持っていません。
=== 用途
基本的にはほぼすべてのクラスの親は Object と考... -
ObjectSpace (18007.0)
-
全てのオブジェクトを操作するためのモジュールです。
全てのオブジェクトを操作するためのモジュールです。 -
BasicObject
# method _ missing(name , *args) -> object (9382.0) -
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド
を呼び出します。
呼び出しに失敗したメソッドの名前 (Symbol) が name に
その時の引数が第二引数以降に渡されます。
デフォルトではこのメソッドは例外 NoMethodError を発生させます。
@param name 未定義メソッドの名前(シンボル)です。
@param args 未定義メソッドに渡された引数です。
@return ユーザー定義の method_missing メソッドの返り値が未定義メソッドの返り値で
あるかのように見えます。
//emlist[例][ruby]{... -
BasicObject
# instance _ eval {|obj| . . . } -> object (9349.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場... -
BasicObject
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (9349.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場... -
BasicObject
# _ _ send _ _ (name , *args) -> object (9331.0) -
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数
//emlist[例][ruby]{
class Mail
def delete(*args)
"(Mail#delete) - delete " + args.join(',')
end
def send(name, *args)
"(Mail#send) -... -
BasicObject
# _ _ send _ _ (name , *args) { . . . . } -> object (9331.0) -
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数
//emlist[例][ruby]{
class Mail
def delete(*args)
"(Mail#delete) - delete " + args.join(',')
end
def send(name, *args)
"(Mail#send) -... -
BasicObject
# instance _ exec(*args) {|*vars| . . . } -> object (9310.0) -
与えられたブロックをレシーバのコンテキストで実行します。
与えられたブロックをレシーバのコンテキストで実行します。
ブロック実行中は、 self がレシーバのコンテキストになるので
レシーバの持つインスタンス変数にアクセスすることができます。
@param args ブロックパラメータに渡す値です。
//emlist[例][ruby]{
class KlassWithSecret
def initialize
@secret = 99
end
end
k = KlassWithSecret.new
# 以下で x には 5 が渡される
k.instance_exec(5) {|x| @secret + x } #=> 10... -
BasicObject
# singleton _ method _ added(name) -> object (9310.0) -
特異メソッドが追加された時にインタプリタから呼び出されます。
特異メソッドが追加された時にインタプリタから呼び出されます。
通常のメソッドの追加に対するフックには
Module#method_addedを使います。
@param name 追加されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_added(name)
puts "singleton method \"#{name}\" was added"
end
end
obj = Foo.new
def obj.foo
end
#=> singleton method "fo... -
BasicObject
# singleton _ method _ removed(name) -> object (9310.0) -
特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。
特異メソッドが Module#remove_method に
より削除された時にインタプリタから呼び出されます。
通常のメソッドの削除に対するフックには
Module#method_removedを使います。
@param name 削除されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_removed(name)
puts "singleton method \"#{name}\" was removed"
end
end
obj = Foo.new
def obj.f... -
BasicObject
# singleton _ method _ undefined(name) -> object (9310.0) -
特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。
特異メソッドが Module#undef_method または
undef により未定義にされた時にインタプリタから呼び出されます。
通常のメソッドの未定義に対するフックには
Module#method_undefined を使います。
@param name 未定義にされたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end
obj... -
ObjectSpace
. # _ id2ref(id) -> object (9310.0) -
オブジェクト ID(BasicObject#__id__)からオブジェクトを得ます。
オブジェクト ID(BasicObject#__id__)からオブジェクトを得ます。
@param id 取得したいオブジェクトの ID を整数で指定します。
@raise RangeError 対応するオブジェクトが存在しなければ発生します。
//emlist[例][ruby]{
a = "hoge"
p ObjectSpace._id2ref(a.__id__) #=> "hoge"
//} -
ObjectSpace
. # undefine _ finalizer(obj) -> object (9310.0) -
obj に対するファイナライザをすべて解除します。 obj を返します。
obj に対するファイナライザをすべて解除します。
obj を返します。
@param obj ファイナライザを解除したいオブジェクトを指定します。
//emlist[例][ruby]{
class Sample
def Sample.callback
proc {
puts "finalize"
}
end
def initialize
ObjectSpace.define_finalizer(self, Sample.callback)
end
def undef
ObjectSpace.undefine_final... -
ObjectSpace
:: WeakMap # [](key) -> object | nil (9310.0) -
引数 key で指定されたオブジェクトが参照するオブジェクトを返します。
引数 key で指定されたオブジェクトが参照するオブジェクトを返します。
参照先のオブジェクトが存在しない場合、GC されている場合、対象外のオブジェ
クトを参照している場合に nil を返します。
@param key 参照元のオブジェクトを指定します。 -
BasicObject
# _ _ id _ _ -> Integer (9169.0) -
各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。
各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し
てどのような整数が割り当てられるかは不定です。
Object#object_id と同じですが、#object_id は BasicObject に
はない事に注意してください。
//emlist[例][ruby]{
# frozen_string_literal: false
obj = Object.new
obj.object_id == obj.__id__ # => true
Object.new.__id__ == Object.new.__id__ # => false
(21... -
BasicObject
# ==(other) -> bool (9079.0) -
オブジェクトが other と等しければ真を、さもなくば偽を返します。
オブジェクトが other と等しければ真を、さもなくば偽を返します。
このメソッドは各クラスの性質に合わせて、サブクラスで再定義するべきです。
多くの場合、オブジェクトの内容が等しければ真を返すように (同値性を判定するように) 再定義
することが期待されています。
デフォルトでは Object#equal? と同じオブジェクトの同一性になっています。
@param other 比較対象となるオブジェクト
@return other が self と同値であれば真、さもなくば偽
//emlist[例][ruby]{
class Person < BasicObject
def i... -
BasicObject
# equal?(other) -> bool (9061.0) -
オブジェクトが other と同一であれば真を、さもなくば偽を返します。
オブジェクトが other と同一であれば真を、さもなくば偽を返します。
このメソッドは2つのオブジェクトが同一のものであるかどうかを判定します。
一般にはこのメソッドを決して再定義すべきでありません。
ただし、 BasicObject の位置づけ上、どうしても再定義が必要な用途もあるでしょう。
再定義する際には自分が何をしているのかよく理解してから実行してください。
@param other 比較対象となるオブジェクト
@return other が self 自身であれば真、さもなくば偽
//emlist[例][ruby]{
original = "a"
copied = origi... -
BasicObject
# ! -> bool (9007.0) -
オブジェクトを真偽値として評価し、その論理否定を返します。
オブジェクトを真偽値として評価し、その論理否定を返します。
このメソッドは self が nil または false であれば真を、さもなくば偽を返します。
主に論理式の評価に伴って副作用を引き起こすことを目的に
再定義するものと想定されています。
このメソッドを再定義しても Ruby の制御式において nil や false 以外が偽として
扱われることはありません。
@return オブジェクトが偽であれば真、さもなくば偽
//emlist[例][ruby]{
class NegationRecorder < BasicObject
def initialize
@co... -
BasicObject
# !=(other) -> bool (9007.0) -
オブジェクトが other と等しくないことを判定します。
オブジェクトが other と等しくないことを判定します。
デフォルトでは self == other を評価した後に結果を論理否定して返します。
このため、サブクラスで BasicObject#== を再定義しても != とは自動的に整合性が
とれるようになっています。
ただし、 BasicObject#!= 自身や BasicObject#! を再定義した際には、ユーザーの責任で
整合性を保たなくてはなりません。
このメソッドは主に論理式の評価に伴って副作用を引き起こすことを目的に
再定義するものと想定されています。
@param other 比較対象となるオブジェクト
@see ... -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (9007.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザ... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (9007.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザ... -
ObjectSpace
. # garbage _ collect(full _ mark: true , immediate _ sweep: true) -> nil (9007.0) -
どこからも参照されなくなったオブジェクトを回収します。 GC.start と同じです。
どこからも参照されなくなったオブジェクトを回収します。
GC.start と同じです。
@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。
@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そうでない場合は true を指定します。
注意: これらのキーワード引数は Ruby の実装やバージョンによって異なりま
す。将来のバージョンとの互換性も保証されませ... -
ObjectSpace
:: WeakMap (9007.0) -
GC の対象になるオブジェクトへの weak reference を持つクラスです。主に WeakRef クラスの内部で使用されるため、weakref ライブラリ 経由で使用してください。
GC の対象になるオブジェクトへの weak reference を持つクラスです。主に
WeakRef クラスの内部で使用されるため、weakref ライブラリ
経由で使用してください。 -
ObjectSpace
:: WeakMap # []=(key , value) (9007.0) -
引数 key から引数 value への参照を作成します。
引数 key から引数 value への参照を作成します。
@param key 参照元のオブジェクトを指定します。
@param value 参照先のオブジェクトを指定します。
//emlist[例][ruby]{
weak_map = ObjectSpace::WeakMap.new
key = "text"
weak_map[key] = "test" # => test
weak_map[key] # => test
//} -
Enumerable
# minmax -> [object , object] (619.0) -
Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。
Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を
要素とするサイズ 2 の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
一つ目の形式は、Enumerable オブジェクトのすべての要素が Comparable を
実装していることを仮定しています。二つ目の形式では、要素同士の比較を
ブロックを用いて行います。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax #=> ["albatross", "hors... -
Enumerable
# minmax {|a , b| . . . } -> [object , object] (619.0) -
Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。
Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を
要素とするサイズ 2 の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
一つ目の形式は、Enumerable オブジェクトのすべての要素が Comparable を
実装していることを仮定しています。二つ目の形式では、要素同士の比較を
ブロックを用いて行います。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax #=> ["albatross", "hors... -
Enumerable
# minmax _ by {|obj| . . . } -> [object , object] (613.0) -
Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して 最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
Enumerable オブジェクトの各要素をブロックに渡して評価し、その結果を <=> で比較して
最小の要素と最大の要素を要素とするサイズ 2 の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
Enumerable#minmax と Enumerable#minmax_by の
違いは sort と sort_by の違いと同じです。
詳細は Enumerable#sort_by を参照してください。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax_by {|x| x.length } ... -
Enumerable
# partition {|item| . . . } -> [[object] , [object]] (613.0) -
各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。 各要素に対してブロックを評価して、その値が真であった要素の配列と、 偽であった要素の配列の 2 つを配列に入れて返します。
各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。
各要素に対してブロックを評価して、その値が真であった要素の配列と、
偽であった要素の配列の 2 つを配列に入れて返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0].partition {|i| i % 3 == 0 }
#=> [[9, 6, 3, 0], [10, 8, 7, 5, 4, 2, 1]]
//} -
Hash
# shift -> [object , object] | nil (613.0) -
ハッシュからキーが追加された順で先頭の要素をひとつ取り除き、 [key, value]という配列として返します。
ハッシュからキーが追加された順で先頭の要素をひとつ取り除き、
[key, value]という配列として返します。
shiftは破壊的メソッドです。selfは要素を取り除かれた残りのハッシュに変更されます。
ハッシュが空の場合、デフォルト値(Hash#defaultまたはHash#default_procのブロックの値か、どちらもnilならばnil)
を返します(このとき、[key,value] という形式の値を返すわけではないことに注意)。
将来のバージョン(Ruby 3.2を予定)ではデフォルト値に関わらず nil になる予定なので、デフォルト値を設定しているハッシュで
shift ... -
IO
# <<(object) -> self (424.0) -
object を出力します。object が文字列でない時にはメソッ ド to_s を用いて文字列に変換します。
object を出力します。object が文字列でない時にはメソッ
ド to_s を用いて文字列に変換します。
以下のような << の連鎖を使うことができます。
STDOUT << 1 << " is a " << Fixnum << "\n"
@param object 出力したいオブジェクトを与えます。
@raise Errno::EXXX 出力に失敗した場合に発生します。 -
Class
# new(*args , &block) -> object (412.0) -
自身のインスタンスを生成して返します。 このメソッドの引数はブロック引数も含め Object#initialize に渡されます。
自身のインスタンスを生成して返します。
このメソッドの引数はブロック引数も含め Object#initialize に渡されます。
new は Class#allocate でインスタンスを生成し、
Object#initialize で初期化を行います。
@param args Object#initialize に渡される引数を指定します。
@param block Object#initialize に渡されるブロックを指定します。
//emlist[例][ruby]{
# Class クラスのインスタンス、C クラスを生成
C = Class.new # => C
# ... -
Module
# const _ get(name , inherit = true) -> object (400.0) -
name で指定される名前の定数の値を取り出します。
name で指定される名前の定数の値を取り出します。
Module#const_defined? と違って Object を特別扱いすることはありません。
@param name 定数名。String か Symbol で指定します。
完全修飾名を指定しなかった場合はモジュールに定義されている
name で指定される名前の定数の値を取り出します。
@param inherit false を指定するとスーパークラスや include したモジュールで
定義された定数は対象にはなりません。
@raise NameError ... -
StopIteration
# result -> object (382.0) -
この例外オブジェクトを発生させる原因となったメソッド等の返り値を返します。
この例外オブジェクトを発生させる原因となったメソッド等の返り値を返します。
object = Object.new
def object.each
yield :yield1
yield :yield2
:each_returned
end
enumerator = object.to_enum
p enumerator.next #=> :yield1
p enumerator.next #=> :yield2
begin
enumerator.next
rescue StopIteration => error
... -
Kernel
. # eval(expr) -> object (349.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。
expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。
bind によ... -
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (349.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。
expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。
bind によ... -
Kernel
. # p(*arg) -> object | Array (346.0) -
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
引数の inspect メソッドの返り値と改行を順番に出力します。つまり以下のコードと同じです。
//emlist[例][ruby]{
print arg[0].inspect, "\n", arg[1].inspect, "\n" #, ...
//}
整形に用いられるObject#inspectは普通に文字列に変換すると
区別がつかなくなるようなクラス間の差異も表現できるように工夫されています。
p に引数を与えずに呼び出した場合は特に何もしません。
@param ... -
Enumerator
# each { . . . } -> object (331.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、 生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、
生成時に指定したイテレータの戻り値をそのまま返します。
@param args 末尾へ追加する引数
//emlist[例1][ruby]{
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
enum.each {|word| p word } ... -
Enumerator
# each(*args) { . . . } -> object (331.0) -
生成時のパラメータに従ってブロックを繰り返します。 *args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。 ブロック付きで呼び出された場合は、 生成時に指定したイテレータの戻り値をそのまま返します。
生成時のパラメータに従ってブロックを繰り返します。
*args を渡した場合は、生成時のパラメータ内引数末尾へ *args を追加した状態で繰り返します。
ブロック付きで呼び出された場合は、
生成時に指定したイテレータの戻り値をそのまま返します。
@param args 末尾へ追加する引数
//emlist[例1][ruby]{
str = "Yet Another Ruby Hacker"
enum = Enumerator.new {|y| str.scan(/\w+/) {|w| y << w }}
enum.each {|word| p word } ... -
Kernel
$ $ > -> object (331.0) -
標準出力です。
標準出力です。
組み込み関数 Kernel.#print、Kernel.#puts や
Kernel.#p などのデフォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のファイルを表します。
$stdout に代入するオブジェクトには
write という名前のメソッドが定義されていなければいけません。
自プロセスの標準出力をリダイレクトしたいときには、
以下のように $stdout に代入すれば十分です。
//emlist[例][ruby]{
# 標準出力の出力先を /tmp/... -
Kernel
$ $ stdout -> object (331.0) -
標準出力です。
標準出力です。
組み込み関数 Kernel.#print、Kernel.#puts や
Kernel.#p などのデフォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のファイルを表します。
$stdout に代入するオブジェクトには
write という名前のメソッドが定義されていなければいけません。
自プロセスの標準出力をリダイレクトしたいときには、
以下のように $stdout に代入すれば十分です。
//emlist[例][ruby]{
# 標準出力の出力先を /tmp/... -
ENV
. clone(freeze: true) -> object (328.0) -
ENV オブジェクトの複製を作成して返します。
ENV オブジェクトの複製を作成して返します。
ENV は OS のプロセス全体で共有される環境変数を操作するラッパーオブジェクトなので、複製は有用ではありません。
そのため、3.1 からは複製で環境変数を操作するときに deprecated 警告がでます。
テスト実行中に環境変数を退避する用途には ENV.to_h を使用してください。
//emlist[][ruby]{
saved_env = ENV.to_h
# (テストなど)
ENV.replace(saved_env)
//}
@see Object#clone -
IO
. popen("-" , mode = "r" , opt={}) {|io| . . . } -> object (328.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
IO
. popen([env = {} , [cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (328.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen([env = {} , cmdname , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (328.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [[cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (328.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [cmdname , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (328.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , command , mode = "r" , opt={}) {|f| . . . } -> object (328.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env , "-" , mode = "r" , opt={}) {|io| . . . } -> object (328.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
Kernel
$ $ stderr -> object (328.0) -
標準エラー出力です。
標準エラー出力です。
Ruby インタプリタが出力するエラーメッセージや
警告メッセージ、Kernel.#warn の出力先となります。
初期値は Object::STDERR です。
$stderr に代入するオブジェクトには
write という名前のメソッドが定義されていなければいけません。
自プロセスの標準エラー出力をリダイレクトしたいときには、
$stderr に代入すれば十分です。
//emlist[例][ruby]{
# 標準エラー出力の出力先を /tmp/foo に変更
$stderr = File.open("/tmp/foo", "w")
puts "foo" ... -
Kernel
$ $ stdin -> object (328.0) -
標準入力です。
標準入力です。
自プロセスの標準入力をリダイレクトしたいときは
$stdin に代入すれば十分です。
//emlist[例][ruby]{
# 標準入力の入力元 /tmp/foo に変更
$stdin = File.open("/tmp/foo", "r")
gets # 入力する
$stdin = STDIN # 元に戻す
//}
ただし、Kernel.#gets など、特定の組み込みメソッドは
$stdin オブジェクトにメソッドを転送して実装されています。
従って、Kernel.#gets などが正しく動作するには、
$stdin オブジェクトに... -
Module
# remove _ class _ variable(name) -> object (328.0) -
引数で指定したクラス変数を取り除き、そのクラス変数に設定さ れていた値を返します。
引数で指定したクラス変数を取り除き、そのクラス変数に設定さ
れていた値を返します。
@param name String または Symbol を指定します。
@return 引数で指定されたクラス変数に設定されていた値を返します。
@raise NameError 引数で指定されたクラス変数がそのモジュールやクラスに定義されていない場合に発生します。
//emlist[例][ruby]{
class Foo
@@foo = 1
remove_class_variable(:@@foo) # => 1
p @@foo # => uninitialized clas... -
Module
# remove _ const(name) -> object (328.0) -
name で指定した定数を取り除き、その定数に設定されていた値を 返します。
name で指定した定数を取り除き、その定数に設定されていた値を
返します。
@param name String または Symbol を指定します。
@return 引数で指定された定数に設定されていた値を返します。
@raise NameError 引数で指定された定数がそのモジュールやクラスに定義されていない場合に発生します。
//emlist[例][ruby]{
class Foo
FOO = 1
p remove_const(:FOO) # => 1
p FOO # => uninitialized constant FOO at Foo (Na... -
NoMethodError
# args -> [object] (328.0) -
メソッド呼び出しに使われた引数を配列で返します。
メソッド呼び出しに使われた引数を配列で返します。
例:
begin
foobar(1,2,3)
rescue NoMethodError
p $!
p $!.name
p $!.args
end
# => #<NoMethodError: undefined method `foobar' for main:Object>
:foobar
[1, 2, 3] -
Enumerable
# inject(init = self . first) {|result , item| . . . } -> object (325.0) -
リストのたたみこみ演算を行います。
リストのたたみこみ演算を行います。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。
@param in... -
Enumerable
# inject(init , sym) -> object (325.0) -
リストのたたみこみ演算を行います。
リストのたたみこみ演算を行います。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。
@param in... -
Enumerable
# inject(sym) -> object (325.0) -
リストのたたみこみ演算を行います。
リストのたたみこみ演算を行います。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。
@param in... -
Enumerable
# reduce(init = self . first) {|result , item| . . . } -> object (325.0) -
リストのたたみこみ演算を行います。
リストのたたみこみ演算を行います。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。
@param in... -
Enumerable
# reduce(init , sym) -> object (325.0) -
リストのたたみこみ演算を行います。
リストのたたみこみ演算を行います。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。
@param in... -
Enumerable
# reduce(sym) -> object (325.0) -
リストのたたみこみ演算を行います。
リストのたたみこみ演算を行います。
最初に初期値 init と self の最初の要素を引数にブロックを実行します。
2 回目以降のループでは、前のブロックの実行結果と
self の次の要素を引数に順次ブロックを実行します。
そうして最後の要素まで繰り返し、最後のブロックの実行結果を返します。
要素が存在しない場合は init を返します。
初期値 init を省略した場合は、
最初に先頭の要素と 2 番目の要素をブロックに渡します。
また要素が 1 つしかなければブロックを実行せずに最初の要素を返します。
要素がなければブロックを実行せずに nil を返します。
@param in... -
IO
. pipe {|read _ io , write _ io| . . . } -> object (319.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(enc _ str , **opts) {|read _ io , write _ io| . . . } -> object (319.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc) {|read _ io , write _ io| . . . } -> object (319.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc , int _ enc , **opts) {|read _ io , write _ io| . . . } -> object (319.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
Module
# class _ eval {|mod| . . . } -> object (319.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを
評価してその結果を返します。
モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープになります。
ブロックが与えられた場合には、定数とクラス変数のスコープはブロックの外側のスコープにな... -
Module
# class _ eval(expr , fname = "(eval)" , lineno = 1) -> object (319.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを
評価してその結果を返します。
モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープになります。
ブロックが与えられた場合には、定数とクラス変数のスコープはブロックの外側のスコープにな... -
Module
# module _ eval {|mod| . . . } -> object (319.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを
評価してその結果を返します。
モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープになります。
ブロックが与えられた場合には、定数とクラス変数のスコープはブロックの外側のスコープにな... -
Module
# module _ eval(expr , fname = "(eval)" , lineno = 1) -> object (319.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを
評価してその結果を返します。
モジュールのコンテキストで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字列が与えられた場合には、定数とクラス変数のスコープは自身のモジュール定義式内と同じスコープになります。
ブロックが与えられた場合には、定数とクラス変数のスコープはブロックの外側のスコープにな... -
Range
# max -> object | nil (319.0) -
範囲内の最大の値、もしくは最大の n 要素が降順で入った配列を返します。
範囲内の最大の値、もしくは最大の n 要素が降順で入った配列を返します。
@param n 取得する要素数。
//emlist[例][ruby]{
(1..5).max # => 5
//}
//emlist[例][ruby]{
(1..5).max(3) # => [5, 4, 3]
//}
始端が終端より大きい場合、もしくは、終端を含まない範囲オブジェクトの始端が終端と
等しい場合は、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。
//emlist[例][ruby]{
(2..1).max # => nil
(1..... -
Range
# max {|a , b| . . . } -> object | nil (319.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素、もしくは 最大の n 要素を返します。引数を指定しない形式では、 範囲内に要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素、もしくは
最大の n 要素を返します。引数を指定しない形式では、
範囲内に要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数
を、期待しています。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
@see Range#last, Range#min, Enumerable#max
//emlist[例][ruby]{
h ... -
Range
# max(n) -> [object] (319.0) -
範囲内の最大の値、もしくは最大の n 要素が降順で入った配列を返します。
範囲内の最大の値、もしくは最大の n 要素が降順で入った配列を返します。
@param n 取得する要素数。
//emlist[例][ruby]{
(1..5).max # => 5
//}
//emlist[例][ruby]{
(1..5).max(3) # => [5, 4, 3]
//}
始端が終端より大きい場合、もしくは、終端を含まない範囲オブジェクトの始端が終端と
等しい場合は、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。
//emlist[例][ruby]{
(2..1).max # => nil
(1..... -
Range
# max(n) {|a , b| . . . } -> [object] (319.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素、もしくは 最大の n 要素を返します。引数を指定しない形式では、 範囲内に要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素、もしくは
最大の n 要素を返します。引数を指定しない形式では、
範囲内に要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、 a == b のとき 0、a < b のとき負の整数
を、期待しています。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
@see Range#last, Range#min, Enumerable#max
//emlist[例][ruby]{
h ... -
Range
# min -> object | nil (319.0) -
範囲内の最小の値、もしくは最小の n 要素が昇順で入った配列を返します。
範囲内の最小の値、もしくは最小の n 要素が昇順で入った配列を返します。
@param n 取得する要素数。
//emlist[例][ruby]{
(1..5).min # => 1
//}
//emlist[例][ruby]{
(1..5).min(3) # => [1, 2, 3]
//}
始端が終端より大きい場合、もしくは、終端を含まない範囲オブジェクトの始端が終端と
等しい場合は、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。
//emlist[例][ruby]{
(2..1).min # => nil
(1...1... -
Range
# min {|a , b| . . . } -> object | nil (319.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素、もしくは 最小の n 要素を返します。引数を指定しない形式では、範囲内に要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素、もしくは
最小の n 要素を返します。引数を指定しない形式では、範囲内に要素が存在しなければ
nil を返します。引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、 a < b のとき負の整数
を、期待しています。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
@see Range#first, Range#max, Enumerable#min
//emlist[例][ruby]{
h =... -
Range
# min(n) -> [object] (319.0) -
範囲内の最小の値、もしくは最小の n 要素が昇順で入った配列を返します。
範囲内の最小の値、もしくは最小の n 要素が昇順で入った配列を返します。
@param n 取得する要素数。
//emlist[例][ruby]{
(1..5).min # => 1
//}
//emlist[例][ruby]{
(1..5).min(3) # => [1, 2, 3]
//}
始端が終端より大きい場合、もしくは、終端を含まない範囲オブジェクトの始端が終端と
等しい場合は、引数を指定しない形式では nil を返します。
引数を指定する形式では、空の配列を返します。
//emlist[例][ruby]{
(2..1).min # => nil
(1...1... -
Range
# min(n) {|a , b| . . . } -> [object] (319.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素、もしくは 最小の n 要素を返します。引数を指定しない形式では、範囲内に要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。
ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素、もしくは
最小の n 要素を返します。引数を指定しない形式では、範囲内に要素が存在しなければ
nil を返します。引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、 a < b のとき負の整数
を、期待しています。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
@see Range#first, Range#max, Enumerable#min
//emlist[例][ruby]{
h =... -
Array
# fetch(nth) -> object (316.0) -
nth 番目の要素を返します。
nth 番目の要素を返します。
Array#[] (nth) とは nth 番目の要素が存在しない場合の振舞いが異
なります。最初の形式では、例外 IndexError が発生します。
二番目の形式では、引数 ifnone を返します。
三番目の形式では、ブロックを評価した結果を返します。
@param nth 取得したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param ifnone 要素が存在しなかった場合に返すべき値を指定します。
@ra... -
Array
# fetch(nth) {|nth| . . . } -> object (316.0) -
nth 番目の要素を返します。
nth 番目の要素を返します。
Array#[] (nth) とは nth 番目の要素が存在しない場合の振舞いが異
なります。最初の形式では、例外 IndexError が発生します。
二番目の形式では、引数 ifnone を返します。
三番目の形式では、ブロックを評価した結果を返します。
@param nth 取得したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param ifnone 要素が存在しなかった場合に返すべき値を指定します。
@ra... -
Array
# fetch(nth , ifnone) -> object (316.0) -
nth 番目の要素を返します。
nth 番目の要素を返します。
Array#[] (nth) とは nth 番目の要素が存在しない場合の振舞いが異
なります。最初の形式では、例外 IndexError が発生します。
二番目の形式では、引数 ifnone を返します。
三番目の形式では、ブロックを評価した結果を返します。
@param nth 取得したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@param ifnone 要素が存在しなかった場合に返すべき値を指定します。
@ra... -
Hash
# fetch(key) -> object (316.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
key に関連づけられた値を返します。該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
fetchはハッシュ自身にデフォルト値が設定されていても単に無視します(挙動に変化がありません)。
@param key 探索するキーを指定します。
@param default 該当するキーが登録されていない時の返り値を指定します。
@raise KeyError 引数defaultもブロックも与えられてない時、キーの探索に失敗すると発生します。
//emlist[例][ruby]{
h... -
Hash
# fetch(key) {|key| . . . } -> object (316.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
key に関連づけられた値を返します。該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
fetchはハッシュ自身にデフォルト値が設定されていても単に無視します(挙動に変化がありません)。
@param key 探索するキーを指定します。
@param default 該当するキーが登録されていない時の返り値を指定します。
@raise KeyError 引数defaultもブロックも与えられてない時、キーの探索に失敗すると発生します。
//emlist[例][ruby]{
h... -
Hash
# fetch(key , default) -> object (316.0) -
key に関連づけられた値を返します。該当するキーが登録されてい ない時には、引数 default が与えられていればその値を、ブロッ クが与えられていればそのブロックを評価した値を返します。
key に関連づけられた値を返します。該当するキーが登録されてい
ない時には、引数 default が与えられていればその値を、ブロッ
クが与えられていればそのブロックを評価した値を返します。
fetchはハッシュ自身にデフォルト値が設定されていても単に無視します(挙動に変化がありません)。
@param key 探索するキーを指定します。
@param default 該当するキーが登録されていない時の返り値を指定します。
@raise KeyError 引数defaultもブロックも与えられてない時、キーの探索に失敗すると発生します。
//emlist[例][ruby]{
h... -
Method
# [](*args) -> object (316.0) -
メソッドオブジェクトに封入されているメソッドを起動します。
メソッドオブジェクトに封入されているメソッドを起動します。
引数やブロックはそのままメソッドに渡されます。
self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
近付けるためだけに用意されたもので、Array#[]のような
他の [] メソッドとの意味的な関連性はありません。
@param args self に渡される引数。
@see spec/safelevel
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.met... -
Method
# call(*args) -> object (316.0) -
メソッドオブジェクトに封入されているメソッドを起動します。
メソッドオブジェクトに封入されているメソッドを起動します。
引数やブロックはそのままメソッドに渡されます。
self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
近付けるためだけに用意されたもので、Array#[]のような
他の [] メソッドとの意味的な関連性はありません。
@param args self に渡される引数。
@see spec/safelevel
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.met... -
Method
# call(*args) { . . . } -> object (316.0) -
メソッドオブジェクトに封入されているメソッドを起動します。
メソッドオブジェクトに封入されているメソッドを起動します。
引数やブロックはそのままメソッドに渡されます。
self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
近付けるためだけに用意されたもので、Array#[]のような
他の [] メソッドとの意味的な関連性はありません。
@param args self に渡される引数。
@see spec/safelevel
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.met... -
Range
# begin -> object (316.0) -
始端の要素を返します。 始端を持たない範囲オブジェクトの場合、begin はnilを返しますが, first は例外 RangeError が発生します。
始端の要素を返します。
始端を持たない範囲オブジェクトの場合、begin はnilを返しますが, first は例外 RangeError が発生します。
//emlist[例][ruby]{
# 始端を持つ場合
p (1..5).begin # => 1
p (1..0).begin # => 1
p (1..5).first # => 1
p (1..0).first # => 1
# 始端を持たない場合
p (..5).begin #=> nil
p (..5).first #=> RangeError
//}
@see Range#end -
Range
# end -> object (316.0) -
終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま せん。
終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま
せん。
//emlist[例][ruby]{
(10..20).last # => 20
(10...20).last # => 20
//}
@see Range#begin -
Range
# first -> object (316.0) -
始端の要素を返します。 始端を持たない範囲オブジェクトの場合、begin はnilを返しますが, first は例外 RangeError が発生します。
始端の要素を返します。
始端を持たない範囲オブジェクトの場合、begin はnilを返しますが, first は例外 RangeError が発生します。
//emlist[例][ruby]{
# 始端を持つ場合
p (1..5).begin # => 1
p (1..0).begin # => 1
p (1..5).first # => 1
p (1..0).first # => 1
# 始端を持たない場合
p (..5).begin #=> nil
p (..5).first #=> RangeError
//}
@see Range#end -
Range
# first(n) -> [object] (316.0) -
最初の n 要素を返します。範囲内に要素が含まれない場合は空の配列を返します。
最初の n 要素を返します。範囲内に要素が含まれない場合は空の配列を返します。
@param n 取得する要素数を整数で指定します。整数以外のオブジェクトを指定
した場合は to_int メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
@raise ArgumentError n に負の数を指定した場合に発生します。
//emlist[例][ruby]{
(10..20).first(3) # => [10, 11, 1... -
Range
# last -> object (316.0) -
終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま せん。
終端の要素を返します。範囲オブジェクトが終端を含むかどうかは関係ありま
せん。
//emlist[例][ruby]{
(10..20).last # => 20
(10...20).last # => 20
//}
@see Range#begin -
Range
# last(n) -> [object] (316.0) -
最後の n 要素を返します。範囲内に要素が含まれない場合は空の配列を返します。
最後の n 要素を返します。範囲内に要素が含まれない場合は空の配列を返します。
@param n 取得する要素数を整数で指定します。整数以外のオブジェクトを指定
した場合は to_int メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
@raise ArgumentError n に負の数を指定した場合に発生します。
[注意] 引数を省略して実行した場合は、終端を含むかどうか
(Range#exclude_end? の戻り... -
Thread
:: Queue # deq(non _ block = false) -> object (316.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: Queue # pop(non _ block = false) -> object (316.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: Queue # shift(non _ block = false) -> object (316.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: SizedQueue # deq(non _ block = false) -> object (316.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # pop(non _ block = false) -> object (316.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # shift(non _ block = false) -> object (316.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Array
# [](nth) -> object | nil (313.0) -
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
@param nth インデックスを整数で指定します。
先頭の要素が 0 番目になります。nth の値が負の時には末尾から
のインデックスと見倣します。末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定... -
Array
# at(nth) -> object | nil (313.0) -
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。
@param nth インデックスを整数で指定します。
先頭の要素が 0 番目になります。nth の値が負の時には末尾から
のインデックスと見倣します。末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定...