種類
- インスタンスメソッド (203)
- 特異メソッド (23)
- モジュール関数 (7)
- クラス (5)
- モジュール (2)
クラス
-
ARGF
. class (8) - Array (25)
- BasicObject (4)
- Bignum (3)
- Binding (1)
- Complex (1)
- Enumerator (2)
-
Enumerator
:: Lazy (11) - Exception (2)
- FalseClass (3)
- File (2)
- Fixnum (1)
- Float (3)
- Hash (13)
- Integer (2)
- MatchData (2)
- Method (3)
- Module (1)
- Numeric (6)
- Object (7)
- Proc (5)
-
Process
:: Status (1) - Random (3)
- Range (12)
- Rational (1)
- Regexp (3)
-
RubyVM
:: InstructionSequence (4) - String (27)
- Struct (2)
- Symbol (3)
- SystemCallError (1)
- Thread (2)
- Time (4)
- TrueClass (3)
- UnboundMethod (4)
モジュール
- Comparable (1)
- Enumerable (36)
- GC (2)
- Math (2)
- Process (1)
-
Process
:: GID (2) -
Process
:: UID (2)
オブジェクト
- ENV (12)
キーワード
- != (1)
- % (1)
- & (2)
- +@ (1)
- -@ (1)
- === (10)
- ConditionVariable (1)
- GID (1)
- Lazy (1)
- Numeric (1)
- String (1)
- Symbol (1)
- UID (1)
- [] (7)
- ^ (2)
-
_ _ id _ _ (1) - acos (1)
- asin (1)
- assoc (2)
-
backtrace
_ locations (1) - call (1)
- chunk (2)
-
chunk
_ while (1) - clone (2)
- collect (1)
- count (6)
- crypt (1)
- delete (2)
-
delete
_ if (4) - detect (2)
- disasm (2)
- disassemble (2)
- div (1)
- divmod (2)
- dump (1)
- dup (1)
- each (6)
-
each
_ key (2) -
each
_ line (4) -
each
_ pair (2) - eql? (10)
- equal? (1)
- find (2)
-
find
_ all (2) -
find
_ index (6) - getgm (1)
- getlocal (2)
- getrlimit (1)
- getutc (1)
- group (1)
-
has
_ value? (1) - hash (4)
- id2name (1)
- include? (3)
- index (3)
- intern (1)
- itself (1)
-
keep
_ if (2) -
latest
_ gc _ info (2) - lazy (2)
-
local
_ variable _ defined? (1) - lstat (2)
- map (1)
-
marshal
_ dump (1) -
marshal
_ load (1) - max (8)
- member? (2)
- min (8)
- modulo (1)
- new (4)
- none? (2)
- one? (2)
- pack (1)
- partition (2)
-
pending
_ interrupt? (1) - rassoc (2)
- reject (6)
- reject! (4)
- remainder (1)
- rindex (3)
- select (2)
- select! (2)
- slice (6)
-
slice
_ after (2) -
slice
_ before (3) -
slice
_ when (1) - sort (2)
- split (1)
- sum (1)
- switch (4)
-
to
_ h (1) -
to
_ hash (1) -
to
_ proc (1) -
to
_ s (1) -
to
_ sym (1) -
unicode
_ normalize! (1) - unpack (1)
- value? (1)
- yield (1)
- | (2)
検索結果
先頭5件
-
Hash
# ==(other) -> bool (54445.0) -
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、
値が == メソッドで比較して全て等しい場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
#(出力関数は省略)
{ 1 => :a } == { 1 => :a } #=> true
{ 1 => :a } == { 1 => :a, 2 => :b } #=> false
{ 1 => :a } == { 1.0 => :a } #=> fa... -
MatchData
# ==(other) -> bool (54415.0) -
self と other のマッチ対象になった文字列、元になった正規表現オブジェク ト、マッチした位置が等しければ true を返します。そうでない場合には false を返します。
self と other のマッチ対象になった文字列、元になった正規表現オブジェク
ト、マッチした位置が等しければ true を返します。そうでない場合には
false を返します。
@param other 比較対象のオブジェクトを指定します。
//emlist[文字列][ruby]{
s = "abc"
m1 = s.match("a")
m2 = s.match("b")
m1 == m2 # => false
m2 = s.match("a")
m1 == m2 # => true
//}
//emlist[正規表現][ruby]{
r = /abc/
m1 = r.mat... -
Array
# ==(other) -> bool (54409.0) -
自身と other の各要素をそれぞれ順に == で比較し て、全要素が等しければ true を返します。そうでない場合には false を返します。
自身と other の各要素をそれぞれ順に == で比較し
て、全要素が等しければ true を返します。そうでない場合には false を返します。
@param other 自身と比較したい配列を指定します。
@see Object#==
//emlist[例][ruby]{
[ "a", "c" ] == [ "a", "c", 7 ] #=> false
[ "a", "c", 7 ] == [ "a", "c", 7 ] #=> true
[ "a", "c", 7 ] == [ "a", "d", "f" ] #=> false
//} -
Exception
# ==(other) -> bool (54409.0) -
自身と指定された other のクラスが同じであり、 message と backtrace が == メソッドで比較して 等しい場合に true を返します。そうでない場合に false を返します。
自身と指定された other のクラスが同じであり、
message と backtrace が == メソッドで比較して
等しい場合に true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
自身と異なるクラスのオブジェクトを指定した場合は
Exception#exception を実行して変換を試みます。
//emlist[例][ruby]{
require "date"
def check_long_month(month)
return if D... -
Range
# ==(other) -> bool (54409.0) -
指定された other が Range クラスのインスタンスであり、 始端と終端が == メソッドで比較して等しく、Range#exclude_end? が同じ場合に true を返します。そうでない場合に false を返します。
指定された other が Range クラスのインスタンスであり、
始端と終端が == メソッドで比較して等しく、Range#exclude_end? が同じ場合に
true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
p (1..2) == (1..2) # => true
p (1..2) == (1...2) # => false
p (1..2) == Range.new(1.0, 2.0) # => t... -
Float
# ==(other) -> bool (54397.0) -
比較演算子。数値として等しいか判定します。
比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。
//emlist[例][ruby]{
3.14 == 3.14000 # => true
3.14 == 3.1415 # => false
//}
NaNどうしの比較は、未定義です。
//emlist[例][ruby]{
Float::NAN == Float::NAN # => false
[Float::NAN] == [Fl... -
Rational
# ==(other) -> bool (54397.0) -
数値として等しいか判定します。
数値として等しいか判定します。
@param other 自身と比較する数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。
//emlist[例][ruby]{
Rational(2, 3) == Rational(2, 3) # => true
Rational(5) == 5 # => true
Rational(0) == 0.0 # => true
Rational('1/3') == 0.... -
Object
# ==(other) -> bool (54379.0) -
オブジェクトと other が等しければ真を返します。
オブジェクトと other が等しければ真を返します。
このメソッドは各クラスの性質に合わせて再定義すべきです。
多くの場合、オブジェクトの内容が等しければ真を返すように
(同値性を判定するように)再定義されることが期待されています。
デフォルトでは equal? と同じオブジェクト
の同一性判定になっています。
@param other 比較するオブジェクトです。
//emlist[][ruby]{
p("foo" == "bar") #=> false
p("foo" == "foo") #=> true
p(4 == 4) #=> true
p(4 == 4.0) #=> t... -
Regexp
# ==(other) -> bool (54379.0) -
otherが同じパターン、オプション、文字コードの正規表現であったらtrueを返します。
otherが同じパターン、オプション、文字コードの正規表現であったらtrueを返します。
@param other 正規表現を指定します。
//emlist[例][ruby]{
p /^eee$/ == /~eee$/x # => false
p /^eee$/ == /~eee$/i # => false
p /^eee$/e == /~eee$/u # => false
p /^eee$/ == Regexp.new("^eee$") # => true
p /^eee$/.eql?(/^eee$/) # => true
//} -
String
# ==(other) -> bool (54379.0) -
other が文字列の場合、String#eql? と同様に文字列の内容を比較します。
other が文字列の場合、String#eql? と同様に文字列の内容を比較します。
other が文字列でない場合、
other.to_str が定義されていれば
other == self の結果を返します。(ただし、 other.to_str は実行されません。)
そうでなければ false を返します。
@param other 任意のオブジェクト
@return true か false
//emlist[例][ruby]{
stringlike = Object.new
def stringlike.==(other)
"string" == ... -
Struct
# ==(other) -> bool (54373.0) -
self と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。
self と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に
true を返します。そうでない場合に false を返します。
@param other self と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
Dog = Struct.new(:name, :age)
dog1 = Dog.new("fred", 5)
dog2 = Dog.new("fred", 5)
p dog1 == dog2 #=> true
p dog1.eql?(dog2) #=> tr... -
Complex
# ==(other) -> bool (54361.0) -
数値として等しいか判定します。
数値として等しいか判定します。
@param other 自身と比較する数値
//emlist[例][ruby]{
Complex(2, 1) == Complex(1) # => false
Complex(1, 0) == Complex(1) # => true
Complex(1, 0) == 1 # => true
//} -
Random
# ==(other) -> bool (54361.0) -
乱数生成器が等しい状態であるならばtrue を返します。
乱数生成器が等しい状態であるならばtrue を返します。
@param other 比較対象の乱数生成器
//emlist[例][ruby]{
r1 = Random.new(1)
r2 = Random.new(1)
p r1 == r2 # => true
r2.rand
p r1 == r2 # => false
r1.rand
p r1 == r2 # => true
//} -
BasicObject
# ==(other) -> bool (54343.0) -
オブジェクトが other と等しければ真を、さもなくば偽を返します。
オブジェクトが other と等しければ真を、さもなくば偽を返します。
このメソッドは各クラスの性質に合わせて、サブクラスで再定義するべきです。
多くの場合、オブジェクトの内容が等しければ真を返すように (同値性を判定するように) 再定義
することが期待されています。
デフォルトでは Object#equal? と同じオブジェクトの同一性になっています。
@param other 比較対象となるオブジェクト
@return other が self と同値であれば真、さもなくば偽
//emlist[例][ruby]{
class Person < BasicObject
def i... -
Comparable
# ==(other) -> bool (54343.0) -
比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が 0 を返した時に、true を返します。 それ以外を返した場合は、false を返します。
比較演算子 <=> をもとにオブジェクト同士を比較します。
<=> が 0 を返した時に、true を返します。
それ以外を返した場合は、false を返します。
@param other 自身と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
1 == 1 # => true
1 == 2 # => false
//} -
Integer
# ==(other) -> bool (54343.0) -
比較演算子。数値として等しいか判定します。
比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。
//emlist[][ruby]{
1 == 2 # => false
1 == 1.0 # => true
//} -
Symbol
# ==(other) -> true | false (54343.0) -
other が同じシンボルの時に真を返します。 そうでない場合は偽を返します。
other が同じシンボルの時に真を返します。
そうでない場合は偽を返します。
@param other 比較対象のシンボルを指定します。
例:
:aaa == :aaa #=> true
:aaa == :xxx #=> false -
UnboundMethod
# ==(other) -> bool (54343.0) -
自身と other が同じクラスあるいは同じモジュールの同じメソッドを表す場合に true を返します。そうでない場合に false を返します。
自身と other が同じクラスあるいは同じモジュールの同じメソッドを表す場合に
true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
a = String.instance_method(:size)
b = String.instance_method(:size)
p a == b #=> true
c = Array.instance_method(:size)
p a == c ... -
Method
# ==(other) -> bool (54325.0) -
自身と other が同じインスタンスの同じメソッドを表す場合に true を返します。そうでない場合に false を返します。
自身と other が同じインスタンスの同じメソッドを表す場合に
true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
s = "bar"
a = s.method(:size)
b = s.method(:size)
p a == b #=> true
//} -
Bignum
# ==(other) -> bool (54307.0) -
比較演算子。数値として等しいか判定します。
比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。 -
Fixnum
# ==(other) -> bool (54307.0) -
比較演算子。数値として等しいか判定します。
比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。 -
Process
:: Status # ==(other) -> bool (54307.0) -
同じステータスの場合に真を返します。
同じステータスの場合に真を返します。
other が数値の場合、self.to_i との比較が行われます。こ
れは後方互換性のためです。
@param other 自身と比較したいオブジェクトを指定します。 -
SystemCallError
. ===(other) -> bool (36643.0) -
other が SystemCallError のサブクラスのインスタンスで、 かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。
other が SystemCallError のサブクラスのインスタンスで、
かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。
従って、特に other が self.kind_of?(other) である場合には Module#=== と同様に真を返します。
その他に、 Errno::EXXX::Errno == Errno::EYYY::Errno である場合にも Errno::EXXX == Errno::EYYY.new は真を返します。
エラー名は異なるがエラーコードは同じであるような Errno::EXX... -
Module
# ===(obj) -> bool (36607.0) -
指定された obj が self かそのサブクラスのインスタンスであるとき真を返します。 また、obj が self をインクルードしたクラスかそのサブクラスのインスタンスである場合にも 真を返します。上記のいずれでもない場合に false を返します。
指定された obj が self かそのサブクラスのインスタンスであるとき真を返します。
また、obj が self をインクルードしたクラスかそのサブクラスのインスタンスである場合にも
真を返します。上記のいずれでもない場合に false を返します。
言い替えると obj.kind_of?(self) が true の場合、 true を返します。
このメソッドは主に case 文での比較に用いられます。
case ではクラス、モジュールの所属関係をチェックすることになります。
//emlist[例][ruby]{
str = String.new
case str
when St... -
Object
# ===(other) -> bool (36607.0) -
case 式で使用されるメソッドです。d:spec/control#case も参照してください。
case 式で使用されるメソッドです。d:spec/control#case も参照してください。
このメソッドは case 式での振る舞いを考慮して、
各クラスの性質に合わせて再定義すべきです。
デフォルトでは内部で Object#== を呼び出します。
when 節の式をレシーバーとして === を呼び出すことに注意してください。
また Enumerable#grep でも使用されます。
@param other 比較するオブジェクトです。
//emlist[][ruby]{
age = 12
# (0..2).===(12), (3..6).===(12), ... が実行... -
Proc
# ===(*arg) -> () (36607.0) -
手続きオブジェクトを実行してその結果を返します。
手続きオブジェクトを実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1... -
Range
# ===(obj) -> bool (36607.0) -
obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。
obj が範囲内に含まれている時に true を返します。
そうでない場合は、false を返します。
Range#=== は主に case 式での比較に用いられます。
<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。
始端・終端・引数が数値であれば、 Range#cover? と同様の動きをします。
@param obj 比較対象のオブジェクトを指定します。
//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?... -
Regexp
# ===(string) -> bool (36607.0) -
文字列 string との正規表現マッチを行います。 マッチした場合は真を返します。
文字列 string との正規表現マッチを行います。
マッチした場合は真を返します。
string が文字列でもシンボルでもない場合には false を返します。
このメソッドは主にcase文での比較に用いられます。
@param string マッチ対象文字列
//emlist[例][ruby]{
a = "HELLO"
case a
when /\A[a-z]*\z/; puts "Lower case"
when /\A[A-Z]*\z/; puts "Upper case"
else; puts "Mixed case"
end
# => Upper ... -
Hash
# ===(other) -> bool (27745.0) -
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、
値が == メソッドで比較して全て等しい場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
#(出力関数は省略)
{ 1 => :a } == { 1 => :a } #=> true
{ 1 => :a } == { 1 => :a, 2 => :b } #=> false
{ 1 => :a } == { 1.0 => :a } #=> fa... -
String
# ===(other) -> bool (27679.0) -
other が文字列の場合、String#eql? と同様に文字列の内容を比較します。
other が文字列の場合、String#eql? と同様に文字列の内容を比較します。
other が文字列でない場合、
other.to_str が定義されていれば
other == self の結果を返します。(ただし、 other.to_str は実行されません。)
そうでなければ false を返します。
@param other 任意のオブジェクト
@return true か false
//emlist[例][ruby]{
stringlike = Object.new
def stringlike.==(other)
"string" == ... -
Integer
# ===(other) -> bool (27643.0) -
比較演算子。数値として等しいか判定します。
比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。
//emlist[][ruby]{
1 == 2 # => false
1 == 1.0 # => true
//} -
Bignum
# ===(other) -> bool (27607.0) -
比較演算子。数値として等しいか判定します。
比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。 -
Proc
# [](*arg) -> () (18007.0) -
手続きオブジェクトを実行してその結果を返します。
手続きオブジェクトを実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1... -
Proc
# call(*arg) -> () (18007.0) -
手続きオブジェクトを実行してその結果を返します。
手続きオブジェクトを実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1... -
Proc
# yield(*arg) -> () (18007.0) -
手続きオブジェクトを実行してその結果を返します。
手続きオブジェクトを実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1... -
Range
# include?(obj) -> bool (18007.0) -
obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。
obj が範囲内に含まれている時に true を返します。
そうでない場合は、false を返します。
Range#=== は主に case 式での比較に用いられます。
<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。
始端・終端・引数が数値であれば、 Range#cover? と同様の動きをします。
@param obj 比較対象のオブジェクトを指定します。
//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?... -
Range
# member?(obj) -> bool (18007.0) -
obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。
obj が範囲内に含まれている時に true を返します。
そうでない場合は、false を返します。
Range#=== は主に case 式での比較に用いられます。
<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。
始端・終端・引数が数値であれば、 Range#cover? と同様の動きをします。
@param obj 比較対象のオブジェクトを指定します。
//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?... -
Hash
# eql?(other) -> bool (9145.0) -
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、 値が == メソッドで比較して全て等しい場合に真を返します。
自身と other が同じ数のキーを保持し、キーが eql? メソッドで比較して全て等しく、
値が == メソッドで比較して全て等しい場合に真を返します。
@param other 自身と比較したい Hash オブジェクトを指定します。
//emlist[例][ruby]{
#(出力関数は省略)
{ 1 => :a } == { 1 => :a } #=> true
{ 1 => :a } == { 1 => :a, 2 => :b } #=> false
{ 1 => :a } == { 1.0 => :a } #=> fa... -
MatchData
# eql?(other) -> bool (9115.0) -
self と other のマッチ対象になった文字列、元になった正規表現オブジェク ト、マッチした位置が等しければ true を返します。そうでない場合には false を返します。
self と other のマッチ対象になった文字列、元になった正規表現オブジェク
ト、マッチした位置が等しければ true を返します。そうでない場合には
false を返します。
@param other 比較対象のオブジェクトを指定します。
//emlist[文字列][ruby]{
s = "abc"
m1 = s.match("a")
m2 = s.match("b")
m1 == m2 # => false
m2 = s.match("a")
m1 == m2 # => true
//}
//emlist[正規表現][ruby]{
r = /abc/
m1 = r.mat... -
Regexp
# eql?(other) -> bool (9079.0) -
otherが同じパターン、オプション、文字コードの正規表現であったらtrueを返します。
otherが同じパターン、オプション、文字コードの正規表現であったらtrueを返します。
@param other 正規表現を指定します。
//emlist[例][ruby]{
p /^eee$/ == /~eee$/x # => false
p /^eee$/ == /~eee$/i # => false
p /^eee$/e == /~eee$/u # => false
p /^eee$/ == Regexp.new("^eee$") # => true
p /^eee$/.eql?(/^eee$/) # => true
//} -
UnboundMethod
# eql?(other) -> bool (9043.0) -
自身と other が同じクラスあるいは同じモジュールの同じメソッドを表す場合に true を返します。そうでない場合に false を返します。
自身と other が同じクラスあるいは同じモジュールの同じメソッドを表す場合に
true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
a = String.instance_method(:size)
b = String.instance_method(:size)
p a == b #=> true
c = Array.instance_method(:size)
p a == c ... -
Method
# eql?(other) -> bool (9025.0) -
自身と other が同じインスタンスの同じメソッドを表す場合に true を返します。そうでない場合に false を返します。
自身と other が同じインスタンスの同じメソッドを表す場合に
true を返します。そうでない場合に false を返します。
@param other 自身と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
s = "bar"
a = s.method(:size)
b = s.method(:size)
p a == b #=> true
//} -
Array
# pack(template) -> String (223.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができま... -
String
# unpack(template) -> Array (223.0) -
Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。
Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。
@param template pack テンプレート文字列
@return オブジェクトの配列
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。
長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のよう... -
BasicObject
# _ _ id _ _ -> Integer (97.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... -
Enumerable
# find _ index -> Enumerator (97.0) -
条件に一致する最初の要素の位置を返します。
条件に一致する最初の要素の位置を返します。
@param val 位置を知りたいオブジェクトを指定します。
指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。
//emlist[例][ruby]{
(1..10).find_index(11) #=> nil
(1..10).find_index(2) #=> 1
//}
ブロックが与えられた場合には、各要素を引数として先頭から順にブロックを実行し、
ブロックが真を返した最初の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
/... -
Enumerable
# find _ index {|obj| . . . } -> Integer | nil (97.0) -
条件に一致する最初の要素の位置を返します。
条件に一致する最初の要素の位置を返します。
@param val 位置を知りたいオブジェクトを指定します。
指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。
//emlist[例][ruby]{
(1..10).find_index(11) #=> nil
(1..10).find_index(2) #=> 1
//}
ブロックが与えられた場合には、各要素を引数として先頭から順にブロックを実行し、
ブロックが真を返した最初の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
/... -
Enumerable
# find _ index(val) -> Integer | nil (97.0) -
条件に一致する最初の要素の位置を返します。
条件に一致する最初の要素の位置を返します。
@param val 位置を知りたいオブジェクトを指定します。
指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。
//emlist[例][ruby]{
(1..10).find_index(11) #=> nil
(1..10).find_index(2) #=> 1
//}
ブロックが与えられた場合には、各要素を引数として先頭から順にブロックを実行し、
ブロックが真を返した最初の要素の位置を返します。
一つも真にならなかった場合は nil を返します。
/... -
Thread
:: ConditionVariable (97.0) -
スレッドの同期機構の一つである状態変数を実現するクラスです。
スレッドの同期機構の一つである状態変数を実現するクラスです。
以下も ConditionVariable を理解するのに参考になります。
https://ruby-doc.com/docs/ProgrammingRuby/html/tut_threads.html#UF
=== Condition Variable とは
あるスレッド A が排他領域で動いていたとします。スレッド A は現在空いていない
リソースが必要になったので空くまで待つことにしたとします。これはうまくいきません。
なぜなら、スレッド A は排他領域で動いているわけですから、他のスレッドは動くことが
できません。リ... -
ENV
. delete _ if -> Enumerator (79.0) -
key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。
key と value を引数としてブロックを評価した値が真であ
る時、環境変数を削除します。
reject! は要素に変化がなければ nil を返します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//} -
ENV
. delete _ if {|key , value| . . . } -> ENV (79.0) -
key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。
key と value を引数としてブロックを評価した値が真であ
る時、環境変数を削除します。
reject! は要素に変化がなければ nil を返します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//} -
ENV
. reject! -> Enumerator (79.0) -
key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。
key と value を引数としてブロックを評価した値が真であ
る時、環境変数を削除します。
reject! は要素に変化がなければ nil を返します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//} -
ENV
. reject! {|key , value| . . . } -> ENV | nil (79.0) -
key と value を引数としてブロックを評価した値が真であ る時、環境変数を削除します。
key と value を引数としてブロックを評価した値が真であ
る時、環境変数を削除します。
reject! は要素に変化がなければ nil を返します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.delete_if { |key, value| key == 'FOO' && value == 'bar' } # => ENV
ENV.reject! { |key, value| key == 'FOO' && value == 'bar' } # => nil
//} -
Numeric
# eql?(other) -> bool (73.0) -
自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。 そうでない場合に false を返します。
自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。
そうでない場合に false を返します。
Numeric のサブクラスは、eql? で比較して等しい数値同士が同じハッシュ値を返すように
hash メソッドを適切に定義する必要があります。
@param other 自身と比較したい数値を指定します。
//emlist[例][ruby]{
p 1.eql?(1) #=> true
p 1.eql?(1.0) #=> false
p 1 == 1.0 #=> true
//}
@see Object#equal?, ... -
Enumerable
# detect(ifnone = nil) -> Enumerator (61.0) -
要素に対してブロックを評価した値が真になった最初の要素を返します。
要素に対してブロックを評価した値が真になった最初の要素を返します。
真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。
ブロックを省略した場合は Enumerator を返します。
@param ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。
//emlist[例][ruby]{
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } ... -
Enumerable
# detect(ifnone = nil) {|item| . . . } -> object (61.0) -
要素に対してブロックを評価した値が真になった最初の要素を返します。
要素に対してブロックを評価した値が真になった最初の要素を返します。
真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。
ブロックを省略した場合は Enumerator を返します。
@param ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。
//emlist[例][ruby]{
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } ... -
Enumerable
# find(ifnone = nil) -> Enumerator (61.0) -
要素に対してブロックを評価した値が真になった最初の要素を返します。
要素に対してブロックを評価した値が真になった最初の要素を返します。
真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。
ブロックを省略した場合は Enumerator を返します。
@param ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。
//emlist[例][ruby]{
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } ... -
Enumerable
# find(ifnone = nil) {|item| . . . } -> object (61.0) -
要素に対してブロックを評価した値が真になった最初の要素を返します。
要素に対してブロックを評価した値が真になった最初の要素を返します。
真になる要素が見つからず、ifnone も指定されていないときは nil を返します。
真になる要素が見つからず、ifnone が指定されているときは ifnone を call した結果を返します。
ブロックを省略した場合は Enumerator を返します。
@param ifnone call メソッドを持つオブジェクト (例えば Proc) を指定します。
//emlist[例][ruby]{
# 最初の 3 の倍数を探す
p [1, 2, 3, 4, 5].find {|i| i % 3 == 0 } ... -
Object
# clone(freeze: true) -> object (61.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze false を指定すると freeze されていないコピーを返します。
@r... -
Object
# dup -> object (61.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze false を指定すると freeze されていないコピーを返します。
@r... -
Random
# marshal _ dump -> Array (61.0) -
Random#marshal_load で復元可能な配列を返します。
Random#marshal_load で復元可能な配列を返します。
//emlist[例][ruby]{
r1 = Random.new(1)
a1 = r1.marshal_dump
r2 = Random.new(3)
p r1 == r2 # => false
r3 = r2.marshal_load(a1)
p r1 == r2 # => true
p r1 == r3 # => true
//} -
RubyVM
:: InstructionSequence . disasm(body) -> String (61.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
RubyVM
:: InstructionSequence . disassemble(body) -> String (61.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
Array
# assoc(key) -> Array | nil (55.0) -
配列の配列を検索して、その 0 番目の要素が key に == で等しい 最初の要素を返します。該当する要素がなければ nil を返します。
配列の配列を検索して、その 0 番目の要素が key に == で等しい
最初の要素を返します。該当する要素がなければ nil を返します。
@param key 検索するオブジェクトを指定します。
//emlist[例][ruby]{
ary = [[1,15], [2,25], [3,35]]
p ary.assoc(2) # => [2, 25]
p ary.assoc(100) # => nil
p ary.assoc(15) # => nil
//}
@see Array#rassoc -
Array
# delete(val) -> object | nil (55.0) -
指定された val と == で等しい要素を自身からすべて取り除きます。 等しい要素が見つかった場合は最後に見つかった要素を、 そうでない場合には nil を返します。
指定された val と == で等しい要素を自身からすべて取り除きます。
等しい要素が見つかった場合は最後に見つかった要素を、
そうでない場合には nil を返します。
ブロックが与えられた場合、val と等しい要素が見つからなかったときにブロッ
クを評価してその結果を返します。
@param val 自身から削除したい値を指定します。
//emlist[例][ruby]{
array = [1, 2, 3, 2, 1]
p array.delete(2) #=> 2
p array #=> [1, 3, 1]
# ブロックなしの引数に n... -
Array
# delete(val) { . . . } -> object (55.0) -
指定された val と == で等しい要素を自身からすべて取り除きます。 等しい要素が見つかった場合は最後に見つかった要素を、 そうでない場合には nil を返します。
指定された val と == で等しい要素を自身からすべて取り除きます。
等しい要素が見つかった場合は最後に見つかった要素を、
そうでない場合には nil を返します。
ブロックが与えられた場合、val と等しい要素が見つからなかったときにブロッ
クを評価してその結果を返します。
@param val 自身から削除したい値を指定します。
//emlist[例][ruby]{
array = [1, 2, 3, 2, 1]
p array.delete(2) #=> 2
p array #=> [1, 3, 1]
# ブロックなしの引数に n... -
Array
# include?(val) -> bool (55.0) -
配列が val と == で等しい要素を持つ時に真を返します。
配列が val と == で等しい要素を持つ時に真を返します。
@param val オブジェクトを指定します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.include?("b") #=> true
a.include?("z") #=> false
//} -
Array
# rindex -> Enumerator (55.0) -
指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
指定された val と == で等しい最後の要素の位置を返します。
等しい要素がひとつもなかった時には nil を返します。
ブロックが与えられた時には、各要素を右(末尾)から順に引数としてブロックを実行し、
ブロックが真を返す最初の要素の位置を返します。
ブロックが真を返す要素がなかった時には nil を返します。
引数、ブロックのどちらも与えられなかった時には、自身と rindex から生成した
Enumerator オブジェクトを返します。
@param val オブジェクトを指定します。
//emlist[例][ruby]{
p [1, 0, 0, 1, 0].rindex(... -
Array
# rindex {|item| . . . } -> Integer | nil (55.0) -
指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
指定された val と == で等しい最後の要素の位置を返します。
等しい要素がひとつもなかった時には nil を返します。
ブロックが与えられた時には、各要素を右(末尾)から順に引数としてブロックを実行し、
ブロックが真を返す最初の要素の位置を返します。
ブロックが真を返す要素がなかった時には nil を返します。
引数、ブロックのどちらも与えられなかった時には、自身と rindex から生成した
Enumerator オブジェクトを返します。
@param val オブジェクトを指定します。
//emlist[例][ruby]{
p [1, 0, 0, 1, 0].rindex(... -
Array
# rindex(val) -> Integer | nil (55.0) -
指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
指定された val と == で等しい最後の要素の位置を返します。
等しい要素がひとつもなかった時には nil を返します。
ブロックが与えられた時には、各要素を右(末尾)から順に引数としてブロックを実行し、
ブロックが真を返す最初の要素の位置を返します。
ブロックが真を返す要素がなかった時には nil を返します。
引数、ブロックのどちらも与えられなかった時には、自身と rindex から生成した
Enumerator オブジェクトを返します。
@param val オブジェクトを指定します。
//emlist[例][ruby]{
p [1, 0, 0, 1, 0].rindex(... -
Enumerable
# include?(val) -> bool (55.0) -
val と == の関係にある要素を含むとき真を返します。
val と == の関係にある要素を含むとき真を返します。
@param val 任意のオブジェクト
//emlist[例][ruby]{
[2, 4, 6].include? 2 #=> true
[2, 4, 6].include? 1 #=> false
[2, 4, 6].member? 2 #=> true
[2, 4, 6].member? 1 #=> false
//} -
Enumerable
# member?(val) -> bool (55.0) -
val と == の関係にある要素を含むとき真を返します。
val と == の関係にある要素を含むとき真を返します。
@param val 任意のオブジェクト
//emlist[例][ruby]{
[2, 4, 6].include? 2 #=> true
[2, 4, 6].include? 1 #=> false
[2, 4, 6].member? 2 #=> true
[2, 4, 6].member? 1 #=> false
//} -
Float
# eql?(other) -> bool (55.0) -
自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。 そうでない場合に false を返します。
自身と other のクラスが等しくかつ == メソッドで比較して等しい場合に true を返します。
そうでない場合に false を返します。
@param other 自身と比較したい数値を指定します。
//emlist[例][ruby]{
1.0.eql?(1) # => false
1.0.eql?(1.0) # => true
//} -
Hash
# has _ value?(value) -> bool (55.0) -
ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。
ハッシュが value を値として持つ時真を返します。
値の一致判定は == で行われます。
@param value 探索する値を指定します。
//emlist[][ruby]{
p({1 => "one"}.value?("one")) #=> true
p({1 => "one"}.value?("two")) #=> false
//}
@see Hash#key? -
Hash
# value?(value) -> bool (55.0) -
ハッシュが value を値として持つ時真を返します。 値の一致判定は == で行われます。
ハッシュが value を値として持つ時真を返します。
値の一致判定は == で行われます。
@param value 探索する値を指定します。
//emlist[][ruby]{
p({1 => "one"}.value?("one")) #=> true
p({1 => "one"}.value?("two")) #=> false
//}
@see Hash#key? -
String
# dump -> String (55.0) -
文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。 str == eval(str.dump) となることが保証されています。
文字列中の非表示文字をバックスラッシュ記法に置き換えた文字列を返します。
str == eval(str.dump) となることが保証されています。
//emlist[例][ruby]{
# p だとさらにバックスラッシュが増えて見にくいので puts している
puts "abc\r\n\f\x00\b10\\\"".dump # => "abc\r\n\f\x00\b10\\\""
//} -
Array
# count -> Integer (43.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、配列の要素数を返します。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
ary = [1, 2, 4, 2.0]
ary.count # => 4
ary.count(2) # => 2
ary.count{|x|x%2==0} ... -
Array
# count {|obj| . . . } -> Integer (43.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、配列の要素数を返します。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
ary = [1, 2, 4, 2.0]
ary.count # => 4
ary.count(2) # => 2
ary.count{|x|x%2==0} ... -
Array
# count(item) -> Integer (43.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、配列の要素数を返します。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
ary = [1, 2, 4, 2.0]
ary.count # => 4
ary.count(2) # => 2
ary.count{|x|x%2==0} ... -
Array
# delete _ if -> Enumerator (43.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4, 5]
a.dele... -
Array
# delete _ if {|x| . . . } -> self (43.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4, 5]
a.dele... -
Array
# reject! -> Enumerator (43.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4, 5]
a.dele... -
Array
# reject! {|x| . . . } -> self | nil (43.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4, 5]
a.dele... -
BasicObject
# equal?(other) -> bool (43.0) -
オブジェクトが other と同一であれば真を、さもなくば偽を返します。
オブジェクトが other と同一であれば真を、さもなくば偽を返します。
このメソッドは2つのオブジェクトが同一のものであるかどうかを判定します。
一般にはこのメソッドを決して再定義すべきでありません。
ただし、 BasicObject の位置づけ上、どうしても再定義が必要な用途もあるでしょう。
再定義する際には自分が何をしているのかよく理解してから実行してください。
@param other 比較対象となるオブジェクト
@return other が self 自身であれば真、さもなくば偽
//emlist[例][ruby]{
original = "a"
copied = origi... -
Enumerable
# chunk _ while {|elt _ before , elt _ after| . . . } -> Enumerator (43.0) -
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け た(グループ化した)要素を持つEnumerator を返します。
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
た(グループ化した)要素を持つEnumerator を返します。
隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
評価値が偽になる所でチャンクを区切ります。
ブロックは self の長さ - 1 回呼び出されます。
@return チャンクごとの配列をブロックパラメータに渡す Enumerator
を返します。eachメソッドは以下のように呼び出します。
//emlist{
enum.chunk_while { |elt_before, elt_af... -
Enumerable
# count -> Integer (43.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、レシーバの要素数を返します。
このとき、要素数を一つずつカウントします。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
enum = [1, 2, 4, 2].each
enum.count # => 4
enum.count(2) ... -
Enumerable
# count {|obj| . . . } -> Integer (43.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、レシーバの要素数を返します。
このとき、要素数を一つずつカウントします。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
enum = [1, 2, 4, 2].each
enum.count # => 4
enum.count(2) ... -
Enumerable
# count(item) -> Integer (43.0) -
レシーバの要素数を返します。
レシーバの要素数を返します。
引数を指定しない場合は、レシーバの要素数を返します。
このとき、要素数を一つずつカウントします。
引数を一つ指定した場合は、レシーバの要素のうち引数に一致するものの
個数をカウントして返します(一致は == で判定します)。
ブロックを指定した場合は、ブロックを評価して真になった要素の個数を
カウントして返します。
@param item カウント対象となる値。
//emlist[例][ruby]{
enum = [1, 2, 4, 2].each
enum.count # => 4
enum.count(2) ... -
Enumerator
:: Lazy # chunk {|elt| . . . } -> Enumerator :: Lazy (43.0) -
Enumerable#chunk と同じですが、配列ではなく Enumerator::Lazy を返します。
Enumerable#chunk と同じですが、配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.chunk{ |n| n % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x007f8bf18118f0>:each>>
1.step.lazy.chunk{ |n| n % 3 == 0 }.take(5).force
# => [[false, [1, 2]], [true, [3]], [false, [4, 5... -
Enumerator
:: Lazy # chunk(initial _ state) {|elt , state| . . . } -> Enumerator :: Lazy (43.0) -
Enumerable#chunk と同じですが、配列ではなく Enumerator::Lazy を返します。
Enumerable#chunk と同じですが、配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.chunk{ |n| n % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x007f8bf18118f0>:each>>
1.step.lazy.chunk{ |n| n % 3 == 0 }.take(5).force
# => [[false, [1, 2]], [true, [3]], [false, [4, 5... -
Enumerator
:: Lazy # slice _ after {|elt| bool } -> Enumerator :: Lazy (43.0) -
Enumerable#slice_after と同じですが、配列ではなく Enumerator::Lazy を返します。
Enumerable#slice_after と同じですが、配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.slice_after { |e| e % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x007fd73980e6f8>:each>>
1.step.lazy.slice_after { |e| e % 3 == 0 }.take(5).force
# => [[1, 2, 3], [4, 5, 6], [... -
Enumerator
:: Lazy # slice _ after(pattern) -> Enumerator :: Lazy (43.0) -
Enumerable#slice_after と同じですが、配列ではなく Enumerator::Lazy を返します。
Enumerable#slice_after と同じですが、配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.slice_after { |e| e % 3 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x007fd73980e6f8>:each>>
1.step.lazy.slice_after { |e| e % 3 == 0 }.take(5).force
# => [[1, 2, 3], [4, 5, 6], [... -
Enumerator
:: Lazy # slice _ when {|elt _ before , elt _ after| bool } -> Enumerator :: Lazy (43.0) -
Enumerable#slice_when と同じですが、配列ではなく Enumerator::Lazy を返します。
Enumerable#slice_when と同じですが、配列ではなく Enumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.slice_when { |i, j| (i + j) % 5 == 0 }
# => #<Enumerator::Lazy: #<Enumerator: #<Enumerator::Generator:0x00007fce84118348>:each>>
1.step.lazy.slice_when { |i, j| (i + j) % 5 == 0 }.take(5).force
# => [[1, 2]... -
FalseClass
# &(other) -> false (43.0) -
常に false を返します。
常に false を返します。
@param other 論理積を行なう式です。
& は再定義可能な演算子に分類されていますので、通常は false & other の形で使われます。
//emlist[例][ruby]{
p false & true #=> false
p false & false #=> false
p false & nil #=> false
p false & (1 == 1) #=> false
p false & (1 + 1) #=> false
p false.&(true) #=> false
p false.&... -
FalseClass
# ^(other) -> bool (43.0) -
other が真なら true を, 偽なら false を返します。
other が真なら true を, 偽なら false を返します。
@param other 排他的論理和を行なう式です。
^ は再定義可能な演算子に分類されていますので、通常は false ^ other の形で使われます。
//emlist[例][ruby]{
p false ^ true #=> true
p false ^ false #=> false
p false ^ nil #=> false
p false ^ (1 == 1) #=> true
p false ^ (1 + 1) #=> true
p false.^(true) ... -
FalseClass
# |(other) -> bool (43.0) -
other が真なら true を, 偽なら false を返します。
other が真なら true を, 偽なら false を返します。
@param other 論理和を行なう式です。
| は再定義可能な演算子に分類されていますので、通常は false | other の形で使われます。
//emlist[例][ruby]{
p false | true #=> true
p false | false #=> false
p false | nil #=> false
p false | (1 == 1) #=> true
p false | (1 + 1) #=> true
p false.|(true) #=... -
File
# lstat -> File :: Stat (43.0) -
ファイルの状態を含む File::Stat オブジェクトを生成して返します。 シンボリックリンクに関してリンクそのものの情報を返します。 lstat(2) を実装していないシステムでは、IO#statと同じです。
ファイルの状態を含む File::Stat オブジェクトを生成して返します。
シンボリックリンクに関してリンクそのものの情報を返します。
lstat(2) を実装していないシステムでは、IO#statと同じです。
@raise Errno::EXXX 失敗した場合に発生します。
@raise IOError 自身が close されている場合に発生します。
//emlist[例][ruby]{
# testlink は testfile のシンボリックリンク
File.open("testlink") do |f|
p f.lstat == File.stat("testfil... -
File
. lstat(filename) -> File :: Stat (43.0) -
File.statと同様ですが、シンボリックリンクに関してリンクそのものの 情報を File::Stat として返します。lstat(2) を実装していないシステムでは、File.stat と同じです。
File.statと同様ですが、シンボリックリンクに関してリンクそのものの
情報を File::Stat として返します。lstat(2) を実装していないシステムでは、File.stat と同じです。
@param filename ファイル名を表す文字列を指定します。
@raise Errno::EXXX 情報の取得に失敗した場合に発生します。
//emlist[例][ruby]{
# link.rb は t.rb のシンボリックリンク
File.lstat("link.rb") == File.stat("t.rb") # => false
File.stat("link.rb... -
Hash
# keep _ if -> Enumerator (43.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select! # => #<E... -
Hash
# keep _ if {|key , value| . . . } -> self (43.0) -
キーと値を引数としてブロックを評価した結果が真であるような要素を self に残します。
キーと値を引数としてブロックを評価した結果が真であるような要素を self
に残します。
keep_if は常に self を返します。
select! はオブジェクトが変更された場合に self を、
されていない場合に nil を返します。
ブロックが与えられなかった場合は、自身と keep_if から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
h1 = {}
c = ("a".."g")
c.each_with_index {|e, i| h1[i] = e }
h2 = h1.dup
h1.select! # => #<E...