別のキーワード
ライブラリ
- ビルトイン (8)
- drb (1)
-
irb
/ input-method (4) -
irb
/ output-method (2) - logger (1)
-
net
/ http (1) - ostruct (1)
-
rdoc
/ any _ method (1) -
rdoc
/ ghost _ method (1) - rss (1)
-
shell
/ error (1) - timeout (1)
- weakref (1)
-
webrick
/ httpstatus (1) - win32ole (3)
キーワード
- AnyMethod (1)
- Application (1)
- BasicObject (1)
- CantApplyMethod (1)
- DRbObject (1)
- Error (1)
- FileInputMethod (1)
- GhostMethod (1)
- HTTPMethodNotAllowed (1)
- InputMethod (1)
- InstructionSequence (1)
- MetaMethod (1)
- MethodNotAllowed (1)
- NameError (1)
- NoMethodError (1)
- Numeric (1)
- OpenStruct (1)
- OutputMethod (1)
- Proc (1)
- ReadlineInputMethod (1)
- StdioInputMethod (1)
- StdioOutputMethod (1)
- UnboundMethod (1)
- UnknownConversionMethodError (1)
-
WIN32OLE
_ METHOD (1) -
WIN32OLE
_ PARAM (1) -
WIN32OLE
_ VARIABLE (1) - WeakRef (1)
検索結果
-
Method (114268.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 (18166.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 (18148.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 (18058.0)
-
定義されていないメソッドの呼び出しが行われたときに発生します。
定義されていないメソッドの呼び出しが行われたときに発生します。
例:
self.bar
# => -:1: undefined method `bar' for #<Object:0x401a6c40> (NoMethodError)
プライベートなインスタンスメソッドを呼び出そうとした場合にも発生します。
例:
"".puts
# => NoMethodError: private method `puts' called for "":String
メソッド呼び出しの形式でなければ NameError 例外が発生します。
例:
bar
# => -:... -
Net
:: HTTPMethodNotAllowed (18052.0) -
HTTP レスポンス 405 (Method Not Allowed) を表現するクラスです。
HTTP レスポンス 405 (Method Not Allowed) を表現するクラスです。
詳しくは 7231 Section 6.5.5 を見てください。 -
WEBrick
:: HTTPStatus :: MethodNotAllowed (18052.0) -
HTTP のステータスコード 405 Method Not Allowed を表すクラスです。
HTTP のステータスコード 405 Method Not Allowed を表すクラスです。 -
IRB
:: FileInputMethod (18004.0) -
ファイルからの入力を表すクラスです。ライブラリ内部で使用します。
ファイルからの入力を表すクラスです。ライブラリ内部で使用します。 -
IRB
:: InputMethod (18004.0) -
抽象的な入力を表すクラスです。ライブラリ内部で使用します。
抽象的な入力を表すクラスです。ライブラリ内部で使用します。 -
IRB
:: OutputMethod (18004.0) -
抽象的な出力を表すクラスです。ライブラリ内部で使用します。
抽象的な出力を表すクラスです。ライブラリ内部で使用します。 -
IRB
:: ReadlineInputMethod (18004.0) -
readline を用いた標準入力からの入力を表すクラスです。ライブラリ内部で使 用します。readline の require に失敗した場合は定義されません。
readline を用いた標準入力からの入力を表すクラスです。ライブラリ内部で使
用します。readline の require に失敗した場合は定義されません。 -
IRB
:: StdioInputMethod (18004.0) -
標準入力を表すクラスです。ライブラリ内部で使用します。
標準入力を表すクラスです。ライブラリ内部で使用します。 -
IRB
:: StdioOutputMethod (18004.0) -
標準出力を表すクラスです。ライブラリ内部で使用します。
標準出力を表すクラスです。ライブラリ内部で使用します。 -
RDoc
:: AnyMethod (18004.0) -
メソッドを表現するクラスの基本クラスです。
メソッドを表現するクラスの基本クラスです。
ライブラリの内部で使用します。 -
RDoc
:: GhostMethod (18004.0) -
コメントでのみ参照されるメソッドを表現します。
コメントでのみ参照されるメソッドを表現します。
ライブラリの内部で使用します。 -
RDoc
:: MetaMethod (18004.0) -
動的に定義されたメソッドを表現するクラスです。
動的に定義されたメソッドを表現するクラスです。
ライブラリの内部で使用します。 -
RSS
:: UnknownConversionMethodError (18004.0) -
-
Shell
:: Error :: CantApplyMethod (18004.0) -
メソッドを適用できないときに発生する例外です。
メソッドを適用できないときに発生する例外です。 -
WIN32OLE
_ PARAM (94.0) -
OLEオートメーションサーバが持つメソッドのパラメータ情報を提供します。
OLEオートメーションサーバが持つメソッドのパラメータ情報を提供します。
WIN32OLE_PARAMは、WIN32OLE_METHODのパラメータのメタデータを保持し
ます。
=== サンプルコード
tobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Workbook')
method = WIN32OLE_METHOD.new(tobj, 'SaveAs')
param1 = method.params[0]
puts param1.name # => Filename... -
Proc (76.0)
-
ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
ブロックをコンテキスト(ローカル変数のスコープやスタックフ
レーム)とともにオブジェクト化した手続きオブジェクトです。
Proc は ローカル変数のスコープを導入しないことを除いて
名前のない関数のように使えます。ダイナミックローカル変数は
Proc ローカルの変数として使えます。
Proc がローカル変数のスコープを保持していることは以下の例で
変数 var を参照できていることからわかります。
//emlist[例][ruby]{
var = 1
$foo = Proc.new { var }
var = 2
def foo
$foo.call
end
p foo ... -
BasicObject (40.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... -
Logger
:: Application (40.0) -
ユーザ定義のアプリケーションにログ機能を簡単に追加することができます。
...行う run メソッドを定義します。
(3) そのクラスをインスタンス化して start メソッドを呼び出します。
例:
class FooApp < Application
def initialize(foo_app, application_specific, arguments)
super('FooApp') # Name of the application.
end... -
Timeout
:: Error (40.0) -
timeout で定義される例外クラスです。 関数 timeout がタイムアウトすると発生します。
...ror のサブクラスを
定義して使用した方が無難です。
==> foo.rb <==
require 'timeout.rb'
class Foo
FooTimeoutError = Class.new(TimeoutError)
def longlongtime_method
Timeout.timeout(100, FooTimeoutError) {
...... -
DRb
:: DRbObject (22.0) -
リモートの dRuby オブジェクトを表すオブジェクトです。
リモートの dRuby オブジェクトを表すオブジェクトです。
このクラスのインスタンスはプロキシとして働きます。
つまりインスタンスへのメソッド呼び出しはリモートプロセスに送られ
リモート側でメソッドが呼び出されます。
内部的には BasicObject#method_missing でメソッド呼び出しを
hook して、それを転送します。 -
NameError (22.0)
-
未定義のローカル変数や定数を使用したときに発生します。
未定義のローカル変数や定数を使用したときに発生します。
例:
bar
# => NameError: undefined local variable or method `bar' for main:Object -
Numeric (22.0)
-
数値を表す抽象クラスです。Integer や Float などの数値クラス は Numeric のサブクラスとして実装されています。
...d
//}
また、任意桁の切上げ、切捨て、四捨五入を行うメソッドは以下のように
定義できます。
//emlist[][ruby]{
class Numeric
def roundup(d=0)
x = 10**d
if self > 0
self.quo(x).ceil * x
else
self.quo(x).floor * x
end
end
def roun... -
OpenStruct (22.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 (22.0) -
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。
Method、Proc オブジェクトや Ruby のソースコードを表す文字列
から VM の命令シーケンスを得る事ができます。また、
RubyVM::InstructionSequence オブジェクトを元に命令シーケンスを読みやす
い文字列に変換する事もできます。Ruby の命令シーケンスコンパイラの設定を
扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。
VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照で
きます。
... -
WIN32OLE
_ VARIABLE (22.0) -
OLEオートメーションの変数情報をRubyで参照するためのクラスです。
OLEオートメーションの変数情報をRubyで参照するためのクラスです。
OLEオートメーションサーバは、定数(WIN32OLE.const_load)、メソッ
ド/プロパティ(WIN32OLE_METHOD)、イベント(WIN32OLE_EVENT)
のほかに変数をクライアントへ提供できます。WIN32OLE_VARIABLEクラスは、サー
バが提供する変数の情報をオブジェクト化します。変数情報にはCOMで決められ
た構造体やユーザ定義型のフィールド情報などがありますが、最も良く利用さ
れるのはenum(列挙型)のメンバ情報です。enumのメンバは定数として利用で
きます。
WIN32OL... -
WeakRef (22.0)
-
weak reference を実現するクラスです。
weak reference を実現するクラスです。
WeakRef オブジェクトは与えられたオブジェクトをポイントしますが、
ポイント先のオブジェクトは GC される可能性があります。
アクセスしようとしたときにオブジェクトが GC されていれば
WeakRef::RefError が発生します。
delegate も参照してください。
=== サンプルコード
require 'weakref'
foo = Object.new
ref = WeakRef.new(foo)
ref.some_method_of_foo