るりまサーチ

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

別のキーワード

  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 (18121.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 (18121.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
//}...

WIN32OLE_TYPE#default_event_sources -> [WIN32OLE_TYPE] (49.0)

型が持つソースインターフェイスを取得します。

...nitialize
@completed = false
end

attr_reader :completed
end

source.ole_methods.each do |m|
WebEvent.module_eval do
define_method
("on#{m.name}") do |*arg|
if arg[0] == "ページが表示されました"
@completed = true
end

puts "#{Time.now}: #{m.n...
...ame} was called"
p arg
end
end

end

evt = WIN32OLE_EVENT.new(ctl)
evt.handler = WebEvent.new
ctl.navigate2 'http://www.ruby-lang.org/'
loop do
break if evt.handler.completed
WIN32OLE_EVENT.message_loop
end

ctl.Quit

このプログラムを実行するとWindows7のIE8環...

Proc#lambda? -> bool (43.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 (25.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) -> () (25.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 (25.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...