るりまサーチ

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

別のキーワード

  1. _builtin raise
  2. kernel raise
  3. fiber raise
  4. thread raise
  5. e2mmap raise

検索結果

<< 1 2 3 > >>

Object#must_raise(*args) -> true (6127.0)

自身を評価中に与えられた例外が発生する場合、検査にパスしたことになります。

...与えられた例外が発生する場合、検査にパスしたことになります。

@
param args 自身を評価中に発生する可能性のある例外クラスを一つ以上指定します。

@
raise MiniTest::Assertion 自身を評価した結果、例外が発生しない場合に発...
...生します。
また、自身を評価中に発生した例外が、与えられた例外
またはそのサブクラスでない場合に発生します。

@
see MiniTest::Assertions#assert_raises...

Object#singleton_method(name) -> Method (56.0)

オブジェクトの特異メソッド name をオブジェクト化した Method オブ ジェクトを返します。

...す。

@
param name メソッド名をSymbol またはStringで指定します。
@
raise NameError 定義されていないメソッド名を引数として与えると発生します。

//emlist[][ruby]{
class Demo
def initialize(n)
@
iv = n
end
def hello()
"Hello, @iv = #{@iv}"
end...
...o.new(99)
def k.hi
"Hi, @iv = #{@iv}"
end
m = k.singleton_method(:hi) # => #<Method: #<Demo:0xf8b0c3c4 @iv=99>.hi>
m.call #=> "Hi, @iv = 99"
m = k.singleton_method(:hello) # => NameError
//}

@
see Module#instance_method, Method, BasicObject#__send__, Object#send, Kernel.#eval, Object#method...

Object#public_send(name, *args) -> object (44.0)

オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。

...[ruby]{
1.public_send(:+, 2) # => 3
//}

@
param name 文字列かSymbol で指定するメソッド名です。

@
param args 呼び出すメソッドに渡す引数です。

@
raise ArgumentError name を指定しなかった場合に発生します。

@
raise NoMethodError protected メソッド...
...や private メソッドに対して実行
した場合に発生します。

//emlist[][ruby]{
1.public_send(:puts, "hello") # => NoMethodError
//}

@
see BasicObject#__send__, Object#send...

Object#public_send(name, *args) { .... } -> object (44.0)

オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。

...[ruby]{
1.public_send(:+, 2) # => 3
//}

@
param name 文字列かSymbol で指定するメソッド名です。

@
param args 呼び出すメソッドに渡す引数です。

@
raise ArgumentError name を指定しなかった場合に発生します。

@
raise NoMethodError protected メソッド...
...や private メソッドに対して実行
した場合に発生します。

//emlist[][ruby]{
1.public_send(:puts, "hello") # => NoMethodError
//}

@
see BasicObject#__send__, Object#send...

Object#initialize_copy(obj) -> object (38.0)

(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。

...elf のインスタンス変数や特異メソッドは変化しません。

デフォルトでは、Object#clone の内部で Object#initialize_clone から、
また Object#dup の内部で Object#initialize_dup から呼ばれます。

initialize_copy は、Ruby インタプリタが知り得...
...ります。

デフォルトの Object#initialize_copy は、 freeze チェックおよび型のチェックを行い self
を返すだけのメソッドです。

initialize_copy という名前のメソッドは
自動的に private に設定されます。

@
raise TypeError レシーバが freez...
...e されているか、obj のクラスがレシーバ
のクラスと異なる場合に発生します。
@
see Object#clone,Object#dup

以下に例として、dup や clone がこのメソッドをどのように利用しているかを示します。

obj.dup は、新たに生成したオブ...

絞り込み条件を変える

Object#remove_instance_variable(name) -> object (38.0)

オブジェクトからインスタンス変数 name を取り除き、そのインス タンス変数に設定されていた値を返します。

...を返します。

@
param name 削除するインスタンス変数の名前をシンボルか文字列で指定します。
@
raise NameError オブジェクトがインスタンス変数 name を持たない場合に発生します。

//emlist[][ruby]{
class Foo
def foo
@
foo = 1
p remov...
...e_instance_variable(:@foo) #=> 1
p remove_instance_variable(:@foo) # instance variable @foo not defined (NameError)
end
end
Foo.new.foo
//}

@
see Module#remove_class_variable,Module#remove_const...

Object#must_be_close_to(expected, delta = 0.001) -> true (32.0)

自身と期待値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。

...になります。

@
param expected 期待値を指定します。

@
param delta 許容する絶対誤差を指定します。

@
raise MiniTest::Assertion 与えられた期待値と実際の値の差の絶対値が与えられた差分を越える場合に発生します。

@
see MiniTest::Assertio...

Object#must_be_within_delta(expected, delta = 0.001) -> true (32.0)

自身と期待値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。

...になります。

@
param expected 期待値を指定します。

@
param delta 許容する絶対誤差を指定します。

@
raise MiniTest::Assertion 与えられた期待値と実際の値の差の絶対値が与えられた差分を越える場合に発生します。

@
see MiniTest::Assertio...

Object#clone(freeze: nil) -> object (26.0)

オブジェクトの複製を作成して返します。

...bol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。

@
param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze されていないコ...
...が freeze されていれば freeze されたコピーを、freeze されていなければ freeze されていないコピーを返します。
@
raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとした...
...obj_d) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}

@
see Object#initialize_copy

=== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...
...bj_d) #=> true
p(obj_d.tainted?) #=> false
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}

@
see Object#initialize_copy

=== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...
...l?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}

@
see Object#initialize_copy

=== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...

Object#dup -> object (26.0)

オブジェクトの複製を作成して返します。

...bol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。

@
param freeze true を指定すると freeze されたコピーを返します。
false を指定すると freeze されていないコ...
...が freeze されていれば freeze されたコピーを、freeze されていなければ freeze されていないコピーを返します。
@
raise ArgumentError TrueClass などの常に freeze されているオブジェクトの freeze されていないコピーを作成しようとした...
...obj_d) #=> true
p(obj_d.tainted?) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}

@
see Object#initialize_copy

=== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...
...bj_d) #=> true
p(obj_d.tainted?) #=> false
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}

@
see Object#initialize_copy

=== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...
...l?(obj_d)) #=> false
p(obj == obj_d) #=> true
p(obj_d.frozen?) #=> false
p(obj_d.respond_to?(:fuga)) #=> false
//}

@
see Object#initialize_copy

=== 深いコピーと浅いコピー

clone や dup はオブジェクト自身を複製するだけで、オブジェクト...

絞り込み条件を変える

Object#enum_for(method = :each, *args) -> Enumerator (26.0)

Enumerator.new(self, method, *args) を返します。

...numerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。


@
param method メソッド名の文字列かシンボルです。
@
param args 呼び出すメソッドに渡される引数です。

//emlist[][ruby]{
str = "xyz"

enum = str.enum_f...
...3]
p(a.to_enum) #=> #<Enumerator: [1, 2, 3]:each>
//}

//emlist[例(ブロックを指定する場合)][ruby]{
module Enumerable
def repeat(n)
raise
ArgumentError, "#{n} is negative!" if n < 0
unless block_given?
# __method__ はここでは :repeat
return to_enum(__method__,...
...each do |*val|
n.times { yield *val }
end
end
end

%i[hello world].repeat(2) { |w| puts w }
# => 'hello', 'hello', 'world', 'world'
enum = (1..14).repeat(3)
# => #<Enumerator: 1..14:repeat(3)>
enum.first(4) # => [1, 1, 1, 2]
enum.size # => 42
//}

@
see Enumerator, Enumerator#size...

Object#enum_for(method = :each, *args) {|*args| ... } -> Enumerator (26.0)

Enumerator.new(self, method, *args) を返します。

...numerator#size がブロックの評価結果を返
します。ブロックパラメータは引数 args です。


@
param method メソッド名の文字列かシンボルです。
@
param args 呼び出すメソッドに渡される引数です。

//emlist[][ruby]{
str = "xyz"

enum = str.enum_f...
...3]
p(a.to_enum) #=> #<Enumerator: [1, 2, 3]:each>
//}

//emlist[例(ブロックを指定する場合)][ruby]{
module Enumerable
def repeat(n)
raise
ArgumentError, "#{n} is negative!" if n < 0
unless block_given?
# __method__ はここでは :repeat
return to_enum(__method__,...
...each do |*val|
n.times { yield *val }
end
end
end

%i[hello world].repeat(2) { |w| puts w }
# => 'hello', 'hello', 'world', 'world'
enum = (1..14).repeat(3)
# => #<Enumerator: 1..14:repeat(3)>
enum.first(4) # => [1, 1, 1, 2]
enum.size # => 42
//}

@
see Enumerator, Enumerator#size...
<< 1 2 3 > >>