るりまサーチ

最速Rubyリファレンスマニュアル検索!
66件ヒット [1-66件を表示] (0.164秒)
トップページ > ライブラリ:ビルトイン[x] > クエリ:end[x] > クエリ:define_method[x]

別のキーワード

  1. _builtin define_method
  2. main define_method
  3. module define_method
  4. rake define_task
  5. mutex_m define_aliases

クラス

キーワード

検索結果

Module#define_method(name) { ... } -> Symbol (18122.0)

インスタンスメソッド name を定義します。

...

@raise TypeError method に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。

//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method
(:bar, instance_method(:foo))
end

Foo.new.bar # => :foo
//}...

Module#define_method(name, method) -> Symbol (18122.0)

インスタンスメソッド name を定義します。

...

@raise TypeError method に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。

//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method
(:bar, instance_method(:foo))
end

Foo.new.bar # => :foo
//}...

Proc#lambda? -> bool (44.0)

手続きオブジェクトの引数の取扱が厳密であるならば true を返します。

...合これらはすべて ArgumentError となる

# &が付いた仮引数で生成される Proc は lambda? が偽となる
def n(&b) b.lambda? end
n {} # => false

# &が付いた実引数によるものは、lambda?が元の Procオブジェクトから
# 引き継がれる
lambda(&lambda {}).l...
...よるものは lambda?が真となる
def m() end
method(:m).to_proc.lambda? #=> true

# Module#define_method は特別扱いで、
# これで定義されたメソッドの引数は常に厳密に取り扱われる
class C
define_method
(:d) {}
end

C.new.d(1,2) #=> ArgumentError
C.new.metho...
...d(:d).to_proc.lambda? #=> true

class C
define_method(:e, &proc {})
end

C.new.e(1,2) #=> ArgumentError
C.new.method(:e).to_proc.lambda? #=> true
//}...

Module#class_exec(*args) {|*vars| ... } -> object (26.0)

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

...引数を指定します。


//emlist[例][ruby]{
class Thing
end

c = 1

Thing.class_exec{
def hello()
"Hello there!"
end


define_method
(:foo) do # ローカル変数がブロックの外側を参照している
c
end

}

t = Thing.new
p t.hello() #=> "Hello there!"
p...

Module#method_added(name) -> () (26.0)

メソッド name が追加された時にインタプリタがこのメソッドを呼び出します。

...加されたメソッドの名前が Symbol で渡されます。

//emlist[例][ruby]{
class Foo
def Foo.method_added(name)
puts "method \"#{name}\" was added"
end


def foo
end

define_method
:bar, instance_method(:foo)
end


# => method "foo" was added
# method "bar" was added
//}...

絞り込み条件を変える

Module#module_exec(*args) {|*vars| ... } -> object (26.0)

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

...引数を指定します。


//emlist[例][ruby]{
class Thing
end

c = 1

Thing.class_exec{
def hello()
"Hello there!"
end


define_method
(:foo) do # ローカル変数がブロックの外側を参照している
c
end

}

t = Thing.new
p t.hello() #=> "Hello there!"
p...