ライブラリ
- ビルトイン (5)
- drb (1)
-
irb
/ input-method (4) -
irb
/ output-method (2) -
net
/ http (1) - ostruct (1)
-
rdoc
/ any _ method (1) -
rdoc
/ ghost _ method (1) - rss (1)
- timeout (1)
-
webrick
/ httpstatus (1) - win32ole (1)
キーワード
- AnyMethod (1)
- BasicObject (1)
- DRbObject (1)
- Error (1)
- FileInputMethod (1)
- GhostMethod (1)
- HTTPMethodNotAllowed (1)
- InputMethod (1)
- InstructionSequence (1)
- MetaMethod (1)
- Method (1)
- MethodNotAllowed (1)
- NoMethodError (1)
- OpenStruct (1)
- OutputMethod (1)
- ReadlineInputMethod (1)
- StdioInputMethod (1)
- StdioOutputMethod (1)
- UnboundMethod (1)
- UnknownConversionMethodError (1)
-
WIN32OLE
_ METHOD (1)
検索結果
-
Method (36268.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
# 任意のキーとメソッド(の名前)の関係をハッシュに... -
WIN32OLE
_ METHOD (36166.0) -
OLEオートメーションサーバが持つメソッドの情報を提供します。
OLEオートメーションサーバが持つメソッドの情報を提供します。
WIN32OLE_METHODは、WIN32OLE#ole_methodsなどの呼び出しによって返さ
れるオブジェクトで、OLEオートメーションサーバのメソッドの情報(メタデー
タ)を保持します。
=== サンプルコード
excel = WIN32OLE.new('Excel.Application')
excel.ole_methods.each do |method|
if method.visible?
puts <<SIGNATURE
#{method.return_type} ... -
UnboundMethod (36148.0)
-
レシーバを持たないメソッドを表すクラスです。 呼び出すためにはレシーバにバインドする必要があります。
...とができます。
//emlist[例: Method クラスの冒頭にある例を UnboundMethod で書くと以下のようになります。][ruby]{
class Foo
def foo() "foo" end
def bar() "bar" end
def baz() "baz" end
end
# 任意のキーとメソッドの関係をハッシュに保持して......mlist[例: 以下はメソッドの再定義を UnboundMethod を使って行う方法です。普通は alias や super を使います。][ruby]{
class Foo
def foo
p :foo
end
@@orig_foo = instance_method :foo
def foo
p :bar
@@orig_foo.bind(self).call
end
end
Foo.new.foo
# =... -
NoMethodError (36058.0)
-
定義されていないメソッドの呼び出しが行われたときに発生します。
定義されていないメソッドの呼び出しが行われたときに発生します。
例:
self.bar
# => -:1: undefined method `bar' for #<Object:0x401a6c40> (NoMethodError)
プライベートなインスタンスメソッドを呼び出そうとした場合にも発生します。
例:
"".puts
# => NoMethodError: private method `puts' called for "":String
メソッド呼び出しの形式でなければ NameError 例外が発生します。
例:
bar
# => -:... -
Net
:: HTTPMethodNotAllowed (36052.0) -
HTTP レスポンス 405 (Method Not Allowed) を表現するクラスです。
HTTP レスポンス 405 (Method Not Allowed) を表現するクラスです。
詳しくは 7231 Section 6.5.5 を見てください。 -
WEBrick
:: HTTPStatus :: MethodNotAllowed (36052.0) -
HTTP のステータスコード 405 Method Not Allowed を表すクラスです。
HTTP のステータスコード 405 Method Not Allowed を表すクラスです。 -
IRB
:: FileInputMethod (36004.0) -
ファイルからの入力を表すクラスです。ライブラリ内部で使用します。
ファイルからの入力を表すクラスです。ライブラリ内部で使用します。 -
IRB
:: InputMethod (36004.0) -
抽象的な入力を表すクラスです。ライブラリ内部で使用します。
抽象的な入力を表すクラスです。ライブラリ内部で使用します。 -
IRB
:: OutputMethod (36004.0) -
抽象的な出力を表すクラスです。ライブラリ内部で使用します。
抽象的な出力を表すクラスです。ライブラリ内部で使用します。 -
IRB
:: ReadlineInputMethod (36004.0) -
readline を用いた標準入力からの入力を表すクラスです。ライブラリ内部で使 用します。readline の require に失敗した場合は定義されません。
readline を用いた標準入力からの入力を表すクラスです。ライブラリ内部で使
用します。readline の require に失敗した場合は定義されません。 -
IRB
:: StdioInputMethod (36004.0) -
標準入力を表すクラスです。ライブラリ内部で使用します。
標準入力を表すクラスです。ライブラリ内部で使用します。 -
IRB
:: StdioOutputMethod (36004.0) -
標準出力を表すクラスです。ライブラリ内部で使用します。
標準出力を表すクラスです。ライブラリ内部で使用します。 -
RDoc
:: AnyMethod (36004.0) -
メソッドを表現するクラスの基本クラスです。
メソッドを表現するクラスの基本クラスです。
ライブラリの内部で使用します。 -
RDoc
:: GhostMethod (36004.0) -
コメントでのみ参照されるメソッドを表現します。
コメントでのみ参照されるメソッドを表現します。
ライブラリの内部で使用します。 -
RDoc
:: MetaMethod (36004.0) -
動的に定義されたメソッドを表現するクラスです。
動的に定義されたメソッドを表現するクラスです。
ライブラリの内部で使用します。 -
RSS
:: UnknownConversionMethodError (36004.0) -
-
BasicObject (18040.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... -
DRb
:: DRbObject (18022.0) -
リモートの dRuby オブジェクトを表すオブジェクトです。
リモートの dRuby オブジェクトを表すオブジェクトです。
このクラスのインスタンスはプロキシとして働きます。
つまりインスタンスへのメソッド呼び出しはリモートプロセスに送られ
リモート側でメソッドが呼び出されます。
内部的には BasicObject#method_missing でメソッド呼び出しを
hook して、それを転送します。 -
OpenStruct (18022.0)
-
要素を動的に追加・削除できる手軽な構造体を提供するクラスです。
要素を動的に追加・削除できる手軽な構造体を提供するクラスです。
OpenStruct のインスタンスに対して未定義なメソッド x= を呼ぶと、
OpenStruct クラスの BasicObject#method_missing で捕捉され、そのインスタンスに
インスタンスメソッド x, x= が定義されます。
この挙動によって要素を動的に変更できる構造体として働きます。
require 'ostruct'
ab = OpenStruct.new
ab.foo = 25
p ab.foo # => 25
ab.bar = 2
p ab.bar ... -
RubyVM
:: InstructionSequence (18022.0) -
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Method、Proc オブジェクトや Ruby のソースコードを表す文字列
から VM の命令シーケンスを得る事ができます。また、
RubyVM::InstructionSequence オブジェクトを元に命令シーケンスを読みやす
い文字列に変換する事もできます。Ruby の命令シーケンスコンパイラの設定を
扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。
VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照で
きます。
... -
Timeout
:: Error (9040.0) -
timeout で定義される例外クラスです。 関数 timeout がタイムアウトすると発生します。
...ror のサブクラスを
定義して使用した方が無難です。
==> foo.rb <==
require 'timeout.rb'
class Foo
FooTimeoutError = Class.new(Timeout::Error)
def longlongtime_method
Timeout.timeout(100, FooTimeoutError) {
.....