るりまサーチ

最速Rubyリファレンスマニュアル検索!
113件ヒット [1-100件を表示] (0.050秒)
トップページ > クエリ:@[x] > クエリ:method_missing[x]

別のキーワード

  1. irb/input-method gets
  2. irb/input-method new
  3. _builtin define_method
  4. irb/input-method encoding
  5. irb/input-method readable_atfer_eof?

検索結果

<< 1 2 > >>

BasicObject#method_missing(name, *args) -> object (18155.0)

呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。

...メソッドは例外 NoMethodError を発生させます。


@
param name 未定義メソッドの名前(シンボル)です。
@
param args 未定義メソッドに渡された引数です。
@
return ユーザー定義の method_missing メソッドの返り値が未定義メソッドの返り...
...かのように見えます。

//emlist[例][ruby]{
class Foo
def initialize(data)
@
data = data
end
def method_missing(name, lang)
if name.to_s =~ /\Afind_(\d+)_in\z/
if @data[lang]
p @data[lang][$1.to_i]
else
raise "#{lang} unknown"
end
else...
...メソッドを override する場合は対象のメソッド名に対して
Object#respond_to? が真を返すようにしてください。
そのためには、Object#respond_to_missing? も同様に override する必
要があります。

@
see Object#respond_to?, Object#respond_to_missing?...

WIN32OLE#method_missing(id, *args) -> object | nil (18149.0)

WIN32OLE#invokeメソッドを実行します。

...

@
param id メソッド名をシンボルで指定します。
@
param args メソッドの引数を指定します。
@
return メソッドの返り値。ただし返り値を持たないメソッドの場合はnil。
@
raise RuntimeError idが有効なシンボルではありません。
@
raise W...
...OLEオートメーションオブジェクトのメソッド呼び出しを
method_missing
を利用して実行します。このためWIN32OLEを継承するクラスを
作成してmethod_missingをオーバーライドする場合、superを呼び出してくださ
い。

@
see WIN32OLE#invoke...

Delegator#method_missing(m, *args) -> object (18131.0)

渡されたメソッド名と引数を使って、Delegator#__getobj__ が返すオブジェクトへメソッド委譲を行います。

...名と引数を使って、Delegator#__getobj__ が返すオブジェクトへメソッド委譲を行います。

@
param m メソッドの名前(シンボル)

@
param args メソッドに渡された引数

@
return 委譲先のメソッドからの返り値

@
see BasicObject#method_missing...

ruby 1.8.4 feature (414.0)

ruby 1.8.4 feature ruby 1.8.4 での ruby 1.8.3 からの変更点です。

...# => ruby 1.8.4 (2005-12-16) [i686-linux]
-:1: empty symbol literal

: Symbol [bug]

#Sat Oct 22 13:26:57 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
#
# * object.c (sym_inspect), parse.y (parser_yylex, rb_symname_p): check
# if valid as a symbol name more strictly. [r...
...puts :"@1".inspect
puts :"@@1".inspect
puts :"@".inspect
puts :"@@".inspect

# => ruby 1.8.3 (2005-09-21) [i686-linux]
:!
:=
:0
:$1
:@1
:@@1...
...-:2: syntax error, unexpected '(', expecting $end

#Tue Nov 1 14:20:11 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
#
# * eval.c (rb_call_super): should call method_missing if super is
# called from Kernel method.
#
# * eval.c (exec_under): frame during eval should pre...

ruby 1.6 feature (66.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

...>))

Object.new.instance_eval {
p remove_instance_variable :@foo
}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
nil

=> -:2:in `remove_instance_variable': instance variable @foo not defined (NameError)
ruby 1.6.7 (2002-04-10) [i586-linux]

:...
...わることはなくなりました。((<ruby-dev:17876>))

class Foo
FOO = 1
@
@foo = 1
end

FOO = 2
@
@foo = 2

Foo.module_eval { p FOO, @@foo }

=> ruby 1.6.7 (2002-03-01) [i586-linux]
1
1

=> ruby 1....
...=> ruby 1.6.5 (2001-11-01) [i586-linux]
"**+"
"+"
"\001\000"
"+\000"
"*+\000"

: method_missing

以下が Segmentation Fault していました。((<ruby-dev:14942>))

Module.constants.each {|c|
c = eval c...

絞り込み条件を変える

Object#respond_to_missing?(symbol, include_private) -> bool (52.0)

自身が symbol で表されるメソッドに対し BasicObject#method_missing で反応するつもりならば真を返します。

...ソッドに対し
BasicObject#method_missing で反応するつもりならば真を返します。

Object#respond_to? はメソッドが定義されていない場合、
デフォルトでこのメソッドを呼びだし問合せます。

BasicObject#method_missing を override した場合に...
...erride されるべきです。

false を返します。

@
param symbol メソッド名シンボル
@
param include_private private method も含めたい場合に true が渡されます

//emlist[例][ruby]{
class Sample
def method_missing(name, *args)
if name =~ /^to_*/
[name, *args]...
...end
end

def respond_to_missing?(sym, include_private)
(sym =~ /^to_*/) ? true : super
end
end

s = Sample.new
s.to_sample("sample args1", "sample args2")
s.respond_to?(:to_sample) # => true
s.respond_to?(:sample) # => false
//}

@
see Object#respond_to?, BasicObject#method_missing...

WIN32OLE_EVENT#handler=(obj) -> () (30.0)

イベント処理を実行するオブジェクトを登録します。

...もし、イベントに対応
するonメソッドが実装されていなければmethod_missingが呼ばれます。イベン
ト名は大文字小文字を区別するため、正確な記述が必要です。

@
param obj イベントに対応するメソッドを持つオブジェクト。イ...
...r
def initialize
@
completed = false
end
attr_reader :completed
def onDocumentComplete(disp, uri)
disp.document.getElementsByTagName('a').each do |e|
puts "#{e.innerHTML}=#{e.href}"
end
@
completed = true
end
def method_missing(id, *args)
p...

BasicObject (24.0)

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

...スを定義する際には Object クラスは持っているメソッドが多すぎる
場合があります。

例えば、 BasicObject#method_missingを利用して Proxy パターンを実
装する場合にはObject クラスに定義済みのメソッドはプロクシできないという...
...合にだけ BasicObject から派生してください。

=== 例

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

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

proxy = Proxy.new("1")
proxy.to_i #=> 1
//}...

rexml/parsers/streamparser (24.0)

ストリーム式の XML パーサ。

...equire 'rexml/streamlistener'
class Listener
include REXML::StreamListener
def initialize
@
events = []
end

def text(text)
@
events << "text[#{text}]"
end

def tag_start(name, attrs)
@
events << "tag_start[#{name}]"
end

attr_reader :events
end

xml = <<EOS
<members>
<mem...
..."><![CDATA[cdata is here]]>
<a foo:att='1' bar:att='2' att='&lt;'/>
&amp;&amp; <!-- comment here--> &bar;
</root>
EOS

class Listener
def method_missing(name, *args)
p [name, *args]
end
def respond_to_missing?(sym, include_private)
true
end
end

REXML::Parsers::StreamParser.new(x...
<< 1 2 > >>