種類
- インスタンスメソッド (16)
- 関数 (6)
- ライブラリ (1)
- 特異メソッド (1)
- モジュール (1)
ライブラリ
- ビルトイン (9)
- forwardable (4)
-
rdoc
/ context (1) - singleton (4)
クラス
- BasicObject (3)
- Module (1)
- Object (5)
-
RDoc
:: Context (1)
モジュール
- SingleForwardable (4)
- Singleton (3)
キーワード
- clone (1)
-
def
_ delegator (1) -
def
_ delegators (1) -
def
_ single _ delegator (1) -
def
_ single _ delegators (1) -
define
_ singleton _ method (2) - dup (1)
- instance (1)
-
rb
_ define _ singleton _ method (1) -
rb
_ obj _ singleton _ methods (1) -
rb
_ singleton _ class (1) -
rb
_ singleton _ class _ attached (1) -
rb
_ singleton _ class _ clone (1) -
rb
_ singleton _ class _ new (1) -
set
_ visibility _ for (1) - singleton (1)
-
singleton
_ class (1) -
singleton
_ class? (1) -
singleton
_ method (1) -
singleton
_ method _ added (1) -
singleton
_ method _ removed (1) -
singleton
_ method _ undefined (1) -
singleton
_ methods (1)
検索結果
-
Singleton (132139.0)
-
Singleton パターンを提供するモジュールです。
Singleton パターンを提供するモジュールです。
Mix-in により singleton パターンを提供します。
Singleton モジュールを include することにより、クラスは
高々ひとつのインスタンスしか持たないことが保証されます。
Singleton を Mix-in したクラスの
クラスメソッド instance はその唯一のインスタンスを返します。
new は private メソッドに移され、外部から呼び出そうとするとエラーになります。
=== サンプルコード
require 'singleton'
class SomeSingletonCl... -
singleton (96049.0)
-
Singleton パターンを扱うためのライブラリです。
Singleton パターンを扱うためのライブラリです。 -
Singleton
. instance -> object (72037.0) -
そのクラスの唯一のインスタンスを返します。 最初に呼ばれたときはそのインスタンスを生成します。
そのクラスの唯一のインスタンスを返します。
最初に呼ばれたときはそのインスタンスを生成します。
Singleton を include したクラスで定義されますので、
正確には Singleton モジュールのメソッドではありません。 -
Singleton
# clone (72001.0) -
@raise TypeError このメソッドを呼び出した場合に発生します。
@raise TypeError このメソッドを呼び出した場合に発生します。 -
Singleton
# dup (72001.0) -
@raise TypeError このメソッドを呼び出した場合に発生します。
@raise TypeError このメソッドを呼び出した場合に発生します。 -
BasicObject
# singleton _ method _ undefined(name) -> object (36712.0) -
特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。
特異メソッドが Module#undef_method または
undef により未定義にされた時にインタプリタから呼び出されます。
通常のメソッドの未定義に対するフックには
Module#method_undefined を使います。
@param name 未定義にされたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end
obj... -
Object
# singleton _ methods(inherited _ too = true) -> [Symbol] (36712.0) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
そのオブジェクトに対して定義されている特異メソッド名
(public あるいは protected メソッド) の一覧を返します。
inherited_too が真のときは継承した特異メソッドを含みます。
継承した特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。
singleton_methods(false) は、Object#methods(false) と同じです。
@param inherited_too 継承した特異メソッドを含める場合は... -
BasicObject
# singleton _ method _ added(name) -> object (36694.0) -
特異メソッドが追加された時にインタプリタから呼び出されます。
特異メソッドが追加された時にインタプリタから呼び出されます。
通常のメソッドの追加に対するフックには
Module#method_addedを使います。
@param name 追加されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_added(name)
puts "singleton method \"#{name}\" was added"
end
end
obj = Foo.new
def obj.foo
end
#=> singleton method "fo... -
BasicObject
# singleton _ method _ removed(name) -> object (36694.0) -
特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。
特異メソッドが Module#remove_method に
より削除された時にインタプリタから呼び出されます。
通常のメソッドの削除に対するフックには
Module#method_removedを使います。
@param name 削除されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_removed(name)
puts "singleton method \"#{name}\" was removed"
end
end
obj = Foo.new
def obj.f... -
Module
# singleton _ class? -> bool (36658.0) -
self が特異クラスの場合に true を返します。そうでなければ false を返し ます。
self が特異クラスの場合に true を返します。そうでなければ false を返し
ます。
//emlist[例][ruby]{
class C
end
C.singleton_class? # => false
C.singleton_class.singleton_class? # => true
//} -
Object
# singleton _ class -> Class (36658.0) -
レシーバの特異クラスを返します。 まだ特異クラスがなければ、新しく作成します。
レシーバの特異クラスを返します。
まだ特異クラスがなければ、新しく作成します。
レシーバが nil か true か false なら、それぞれ NilClass, TrueClass,
FalseClass を返します。
@raise TypeError レシーバが Integer、Float、Symbol の場合に発生します。
//emlist[][ruby]{
Object.new.singleton_class #=> #<Class:#<Object:0xb7ce1e24>>
String.singleton_class #=> #<Class:String>
n... -
VALUE rb
_ obj _ singleton _ methods(int argc , VALUE *argv , VALUE obj) (36649.0) -
Object#singleton_methods の実体。 オブジェクト obj に定義されている特異メソッド名のリストを 文字列の配列で返す。
Object#singleton_methods の実体。
オブジェクト obj に定義されている特異メソッド名のリストを
文字列の配列で返す。 -
Object
# define _ singleton _ method(symbol) { . . . } -> Symbol (36643.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# define _ singleton _ method(symbol , method) -> Symbol (36643.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# singleton _ method(name) -> Method (36640.0) -
オブジェクトの特異メソッド name をオブジェクト化した Method オブ ジェクトを返します。
オブジェクトの特異メソッド name をオブジェクト化した Method オブ
ジェクトを返します。
@param name メソッド名をSymbol またはStringで指定します。
@raise NameError 定義されていないメソッド名を引数として与えると発生します。
//emlist[][ruby]{
class Demo
def initialize(n)
@iv = n
end
def hello()
"Hello, @iv = #{@iv}"
end
end
k = Demo.new(99)
def k.hi
"Hi, @iv = ... -
VALUE rb
_ singleton _ class(VALUE obj) (36601.0) -
obj に特異クラスを導入し、その特異クラスを返します。 すでに特異クラスが導入されているときはそれをそのまま返します。
obj に特異クラスを導入し、その特異クラスを返します。
すでに特異クラスが導入されているときはそれをそのまま返します。
obj が特異メソッドを定義できない型のオブジェクトである
ときは例外 TypeError を発生します。 -
VALUE rb
_ singleton _ class _ clone(VALUE klass) (36601.0) -
特異クラス klass を clone して返します。 klass が特異クラスでないときはただ klass を返します。
特異クラス klass を clone して返します。
klass が特異クラスでないときはただ klass を返します。 -
VALUE rb
_ singleton _ class _ new(VALUE super) (36601.0) -
super をスーパークラスとする特異クラスを生成し、返します。
super をスーパークラスとする特異クラスを生成し、返します。 -
void rb
_ define _ singleton _ method(VALUE obj , const char *name , VALUE (*func)() , int argc) (36601.0) -
obj に特異メソッド name を定義します。 メソッドの実体を func に関数ポインタで与え、その関数がとる 引数のタイプを argc に渡します。argc のフォーマットに ついては rb_define_method の記述を参照してください。
obj に特異メソッド name を定義します。
メソッドの実体を func に関数ポインタで与え、その関数がとる
引数のタイプを argc に渡します。argc のフォーマットに
ついては rb_define_method の記述を参照してください。 -
void rb
_ singleton _ class _ attached(VALUE klass , VALUE obj) (36601.0) -
特異クラス klass にその唯一のインスタンス obj を結びつけます。
特異クラス klass にその唯一のインスタンス obj を結びつけます。 -
SingleForwardable
# def _ single _ delegator(accessor , method , ali = method) -> () (18319.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param accessor 委譲先のオブジェクト
@param method 委譲先のメソッド
@param ali 委譲元のメソッド
委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。
委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。
def_delegator は def_singleton_delegator の別名になります。
@see SingleForwardable#def_delegators -
SingleForwardable
# def _ single _ delegators(accessor , *methods) -> () (18319.0) -
メソッドの委譲先をまとめて設定します。
メソッドの委譲先をまとめて設定します。
@param accessor 委譲先のオブジェクト
@param methods 委譲するメソッドのリスト
委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、
委譲先のオブジェクトの同名のメソッドへ処理が委譲されるようになります。
def_delegators は def_singleton_delegators の別名になります。
また、以下の 2 つの例は同じ意味です。
def_delegators :@records, :size, :<<, :map
def_delegator :@rec... -
SingleForwardable
# def _ delegator(accessor , method , ali = method) -> () (9019.0) -
メソッドの委譲先を設定します。
メソッドの委譲先を設定します。
@param accessor 委譲先のオブジェクト
@param method 委譲先のメソッド
@param ali 委譲元のメソッド
委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。
委譲元と委譲先のメソッド名が同じ場合は, ali を省略することが可能です。
def_delegator は def_singleton_delegator の別名になります。
@see SingleForwardable#def_delegators -
SingleForwardable
# def _ delegators(accessor , *methods) -> () (9019.0) -
メソッドの委譲先をまとめて設定します。
メソッドの委譲先をまとめて設定します。
@param accessor 委譲先のオブジェクト
@param methods 委譲するメソッドのリスト
委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、
委譲先のオブジェクトの同名のメソッドへ処理が委譲されるようになります。
def_delegators は def_singleton_delegators の別名になります。
また、以下の 2 つの例は同じ意味です。
def_delegators :@records, :size, :<<, :map
def_delegator :@rec... -
RDoc
:: Context # set _ visibility _ for(methods , visibility , singleton = false) -> () (670.0) -
methods で指定した RDoc::AnyMethod、RDoc::Attr の内、 singleton で指定した条件と一致するメソッドすべての可視性を visibility に設定します。
methods で指定した RDoc::AnyMethod、RDoc::Attr の内、
singleton で指定した条件と一致するメソッドすべての可視性を visibility
に設定します。
@param methods RDoc::AnyMethod、RDoc::Attr オブジェクトの配
列を指定します。
@param visibility 可視性を :public, :protected, :private の内のいずれか
で指定します。
@param singleton 特異メソッドの可視性を変更する場合は...