るりまサーチ (Ruby 2.4.0)

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

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

キーワード

検索結果

Method (138358.0)

Object#method によりオブジェクト化され たメソッドオブジェクトのクラスです。

...、Method は大規模コードに向くと言えます。


既存のメソッドを Method オブジェクト化する。

//emlist[例][ruby]{
class
Foo
def foo(arg)
"foo called with arg #{arg}"
end
end

m = Foo.new.method(:foo)

p m # => #<Method: Foo#foo>
p m.call(1) # =...
...cc>
p pr.call(1) # => "proc called with arg 1"
//}

Method オブジェクトが有用なのは以下のような場合。

//emlist[例][ruby]{
class
Foo
def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end

obj = Foo.new

# 任意のキーとメソッドの関係をハッシュ...
...(Method オブジェクトはレシーバを保持する)必
要がないなら Object#public_sendを使う方法も有用。

//emlist[例][ruby]{
class
Foo
def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end

# 任意のキーとメソッド(の名前)の関係をハッシュに...

BasicObject (42220.0)

特殊な用途のために意図的にほとんど何も定義されていないクラスです。 Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。

...クラスから派生すべきです。
真に必要な場合にだけ BasicObject から派生してください。

=== 例

//emlist[例][ruby]{
class
Proxy < BasicObject
def initialize(target)
@target = target
end

def method_missing(message, *args)
@target.__send__(message, *args...

NoMethodError (42100.0)

定義されていないメソッドの呼び出しが行われたときに発生します。

定義されていないメソッドの呼び出しが行われたときに発生します。

例:

self.bar
# => -:1: undefined method `bar' for #<Object:0x401a6c40> (NoMethodError)

プライベートなインスタンスメソッドを呼び出そうとした場合にも発生します。

例:

"".puts
# => NoMethodError: private method `puts' called for "":String

メソッド呼び出しの形式でなければ NameError 例外が発生します。

例:

bar
# => -:...

NameError (24046.0)

未定義のローカル変数や定数を使用したときに発生します。

未定義のローカル変数や定数を使用したときに発生します。

例:

bar
# => NameError: undefined local variable or method `bar' for main:Object