クラス
モジュール
- Enumerable (172)
- Kernel (220)
- ObjectSpace (22)
- Process (11)
キーワード
-
$ _ (11) - % (11)
- <=> (11)
- =~ (11)
- BasicObject (11)
- ConditionVariable (9)
- DATA (11)
- EXXX (11)
- Enumerator (11)
- Fiber (11)
- FileTest (11)
- IO (11)
- Location (11)
- Method (11)
- Numeric (11)
- Queue (9)
- Range (11)
- STDERR (11)
- STDIN (11)
- STDOUT (11)
- SizedQueue (9)
- Status (11)
- Thread (11)
- ThreadGroup (11)
- Time (11)
- TracePoint (11)
- [] (73)
- all? (33)
- any? (35)
- call (14)
- clone (11)
- define (4)
-
define
_ finalizer (22) - dup (11)
- exec (55)
-
for
_ fd (11) - format (11)
- grep (22)
-
grep
_ v (22) -
handle
_ interrupt (11) - include? (5)
- invert (11)
- load (11)
- match (22)
- member? (5)
-
module
_ function (19) - new (44)
- none? (39)
- one? (39)
- open (44)
- pack (19)
-
pending
_ interrupt? (11) -
require
_ relative (11) -
set
_ trace _ func (11) - slice (66)
-
slice
_ after (22) -
slice
_ before (22) - spawn (44)
- sprintf (11)
- system (44)
-
undef
_ method (11) - unpack (11)
- yield (11)
検索結果
先頭5件
-
Object
# ===(other) -> bool (29208.0) -
case 式で使用されるメソッドです。d:spec/control#case も参照してください。
...se 式で使用されるメソッドです。d:spec/control#case も参照してください。
このメソッドは case 式での振る舞いを考慮して、
各クラスの性質に合わせて再定義すべきです。
デフォルトでは内部で Object#== を呼び出します。
when...... === を呼び出すことに注意してください。
また Enumerable#grep でも使用されます。
@param other 比較するオブジェクトです。
//emlist[][ruby]{
age = 12
# (0..2).===(12), (3..6).===(12), ... が実行される
result =
case age
when 0 .. 2
"baby"
when......little child"
when 7 .. 12
"child"
when 13 .. 18
"youth"
else
"adult"
end
puts result #=> "child"
def check arg
case arg
when /ruby(?!\s*on\s*rails)/i
"hit! #{arg}"
when String
"Instance of String class. But don't hit."
else
"unknown"
end
end
puts check([... -
Method
# ===(*args) -> object (29202.0) -
メソッドオブジェクトに封入されているメソッドを起動します。
...self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
近付けるためだけに用意されたもので、Array#[]のような
他の [] メソッドとの意味的な関連性はありません。
@param args self に渡される引数。
@see spec/safelevel
//emli......st[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m[1] # => "foo called with arg 1"
m.call(2) # => "foo called with arg 2"
//}......。
self[] の形の呼び出しは通常のメソッド呼び出しに見た目を
近付けるためだけに用意されたもので、Array#[]のような
他の [] メソッドとの意味的な関連性はありません。
@param args self に渡される引数。
@see UnboundMethod#bind_......call
@see spec/safelevel
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m[1] # => "foo called with arg 1"
m.call(2) # => "foo called with arg 2"
//}......call
//emlist[例][ruby]{
class Foo
def foo(arg)
"foo called with arg #{arg}"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
m[1] # => "foo called with arg 1"
m.call(2) # => "foo called with arg 2"
//}... -
SystemCallError
. ===(other) -> bool (29202.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::EXXX 例外をまとめて捕捉するために Module#=== を上書きしてい...... errno 値を持つクラスは一つしか作られないようになりました。そのため現在はこのメソッドは実質上 Module#=== と同じ意味しかありません。
@param other 任意のオブジェクト
例
p Errno::EAGAIN::Errno
p Errno::EWOULDBLOCK::Errno
be... -
Range
# ===(obj) -> bool (29132.0) -
始端と終端の中に obj があるとき、true を返します。 そうでないとき、false を返します。
...rue を返します。
そうでないとき、false を返します。
Range#=== は主に case 式での比較に用いられます。
//emlist[例][ruby]{
p (0...50) === 79 #=> false
p (60...80) === 79 #=> true
case 79
when 0...60 then puts "low"
when 60...80 then puts "medium" # => medi......when 80..100 then puts "high"
end
//}
2.5 以前は、単純に Range#include? メソッドを内部で呼んでいました。
しかし、2.6 以降では、(文字列を除いて) Range#cover? と同様の処理をするように切り替わりました。
ただし、=== は、Range#cover?......nge オブジェクトを引数にはとる設計はありません。
//emlist[例][ruby]{
require 'date'
p (Date.today - 100...Date.today + 100).include?(DateTime.now) #=> false
p (Date.today - 100...Date.today + 100).cover?(DateTime.now) #=> true
p (Date.today - 100...Date.today + 100) ===... -
Regexp
# ===(string) -> bool (29114.0) -
文字列 string との正規表現マッチを行います。 マッチした場合は真を返します。
...se を返します。
このメソッドは主に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......case
/\A[a-z]*\z/ === "HELLO" # => false
/\A[A-Z]*\z/ === "HELLO" # => true
//}
@see Enumerable#grep, Object#===... -
Module
# ===(obj) -> bool (29108.0) -
指定された obj が self かそのサブクラスのインスタンスであるとき真を返します。 また、obj が self をインクルードしたクラスかそのサブクラスのインスタンスである場合にも 真を返します。上記のいずれでもない場合に false を返します。
...obj が self かそのサブクラスのインスタンスであるとき真を返します。
また、obj が self をインクルードしたクラスかそのサブクラスのインスタンスである場合にも
真を返します。上記のいずれでもない場合に false を返しま......elf) が true の場合、 true を返します。
このメソッドは主に case 文での比較に用いられます。
case ではクラス、モジュールの所属関係をチェックすることになります。
//emlist[例][ruby]{
str = String.new
case str
when String # String ===......str を評価する
p true # => true
end
//}
@param obj 任意のオブジェクト
@see Object#kind_of?, Object#instance_of?, d:spec/control#case... -
Range
# ===(obj) -> bool (29102.0) -
obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。
...内に含まれている時に true を返します。
そうでない場合は、false を返します。
Range#=== は主に case 式での比較に用いられます。
<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。......Range#cover? と同様の動きをします。
@param obj 比較対象のオブジェクトを指定します。
//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c").include?("ba") # => false
p ("a" .. "c").cover?("ba") # => true
p......(1 .. 3).include?(1.5) # => true
//}
@see d:spec/control#case
@see Range#cover?... -
Integer
# ===(other) -> bool (26202.0) -
比較演算子。数値として等しいか判定します。
...比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。
//emlist[][ruby]{
1 == 2 # => false
1 == 1.0 # => true
//}... -
Bignum
# ===(other) -> bool (23202.0) -
比較演算子。数値として等しいか判定します。
...比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。... -
Hash
# ===(other) -> bool (23202.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 } #=> false ( 1.eql?(1.0) は false なので)
{ :x => 1 } == { :x => 1.0 } #=> true ( 1 == 1.0 は true なので)
//}
@see Hash#equal?... -
String
# ===(other) -> bool (23202.0) -
other が文字列の場合、String#eql? と同様に文字列の内容を比較します。
...other が文字列の場合、String#eql? と同様に文字列の内容を比較します。
other が文字列でない場合、
other.to_str が定義されていれば
other == self の結果を返します。(ただし、 other.to_str は実行されません。)
そうでなければ false......er 任意のオブジェクト
@return true か false
//emlist[例][ruby]{
stringlike = Object.new
def stringlike.==(other)
"string" == other
end
p "string".eql?(stringlike) #=> false
p "string" == stringlike #=> false
def stringlike.to_str
raise
end
p "string".eql?(stringlike......) #=> false
p "string" == stringlike #=> true
//}
@see String#eql?... -
Range
# include?(obj) -> bool (17102.0) -
obj が範囲内に含まれている時に true を返します。 そうでない場合は、false を返します。
...内に含まれている時に true を返します。
そうでない場合は、false を返します。
Range#=== は主に case 式での比較に用いられます。
<=> メソッドによる演算により範囲内かどうかを判定するには Range#cover? を使用してください。......Range#cover? と同様の動きをします。
@param obj 比較対象のオブジェクトを指定します。
//emlist[例][ruby]{
p ("a" .. "c").include?("b") # => true
p ("a" .. "c").include?("B") # => false
p ("a" .. "c").include?("ba") # => false
p ("a" .. "c").cover?("ba") # => true
p......(1 .. 3).include?(1.5) # => true
//}
@see d:spec/control#case
@see Range#cover?...