種類
- インスタンスメソッド (113)
- 特異メソッド (6)
ライブラリ
- ビルトイン (119)
キーワード
- attr (3)
-
attr
_ accessor (3) -
attr
_ reader (3) -
attr
_ writer (3) - autoload (3)
- autoload? (3)
-
class
_ eval (3) -
class
_ variable _ defined? (3) -
class
_ variable _ get (3) -
class
_ variable _ set (3) -
const
_ defined? (3) -
const
_ get (3) -
const
_ missing (3) -
const
_ set (3) -
define
_ method (6) -
instance
_ method (3) -
method
_ added (3) -
method
_ defined? (3) -
method
_ removed (3) -
method
_ undefined (3) -
module
_ eval (3) -
module
_ function (3) - new (6)
- private (3)
-
private
_ class _ method (3) -
private
_ constant (1) -
private
_ method _ defined? (3) - protected (3)
-
protected
_ method _ defined? (3) - public (3)
-
public
_ class _ method (3) -
public
_ constant (1) -
public
_ method _ defined? (3) -
remove
_ class _ variable (3) -
remove
_ const (3) -
remove
_ method (3) -
to
_ s (3) -
undef
_ method (3)
検索結果
先頭5件
-
Module
# name -> String (18138) -
モジュールやクラスの名前を文字列で返します。
...は空文字列を返します。
module A
module B
end
p B.name #=> "A::B"
class C
end
end
p A.name #=> "A"
p A::B.name #=> "A::B"
p A::C.name #=> "A::C"
# 名前のないモジュール / クラス
p Module.new.name #=> ""
p Class.new.name #=> ""......ては nil を返します。
module A
module B
end
p B.name #=> "A::B"
class C
end
end
p A.name #=> "A"
p A::B.name #=> "A::B"
p A::C.name #=> "A::C"
# 名前のないモジュール / クラス
p Module.new.name #=> nil
p Class.new.name #=> nil... -
Module
# to _ s -> String (3038) -
モジュールやクラスの名前を文字列で返します。
...は空文字列を返します。
module A
module B
end
p B.name #=> "A::B"
class C
end
end
p A.name #=> "A"
p A::B.name #=> "A::B"
p A::C.name #=> "A::C"
# 名前のないモジュール / クラス
p Module.new.name #=> ""
p Class.new.name #=> ""......ては nil を返します。
module A
module B
end
p B.name #=> "A::B"
class C
end
end
p A.name #=> "A"
p A::B.name #=> "A::B"
p A::C.name #=> "A::C"
# 名前のないモジュール / クラス
p Module.new.name #=> nil
p Class.new.name #=> nil... -
Module
# attr(name , assignable = false) -> nil (154) -
インスタンス変数読み取りのためのインスタンスメソッド name を定義します。
...ッド name を定義します。
このメソッドで定義されるアクセスメソッドの定義は次の通りです。
def name
@name
end
省略可能な第 2 引数 assignable が指定されその値が真である
場合には、属性の書き込み用メソッド name= も......同時に定義されます。
その定義は次の通りです。
def name=(val)
@name = val
end
@param name String または Symbol で指定します。
@param assignable true を指定するとインスタンス変数書き込み用のインスタンスメソッドも定義します... -
Module
# attr _ writer(*name) -> nil (152) -
インスタンス変数 name への書き込みメソッド (name=) を定義します。
...インスタンス変数 name への書き込みメソッド (name=) を定義します。
このメソッドで定義されるメソッドの定義は以下の通りです。
def name=(val)
@name = val
end
@param name String または Symbol を 1 つ以上指定します。... -
Module
# attr _ accessor(*name) -> nil (148) -
インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を 定義します。
...タンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を
定義します。
このメソッドで定義されるメソッドの定義は以下の通りです。
def name
@name
end
def name=(val)
@name = val
end
@param name String または S... -
Module
# attr _ reader(*name) -> nil (136) -
インスタンス変数 name の読み取りメソッドを定義します。
...インスタンス変数 name の読み取りメソッドを定義します。
このメソッドで定義されるメソッドの定義は以下の通りです。
def name
@name
end
@param name String または Symbol を 1 つ以上指定します。... -
Module
# method _ added(name) -> () (136) -
メソッド name が追加された時にインタプリタがこのメソッドを呼び出します。
...メソッド name が追加された時にインタプリタがこのメソッドを呼び出します。
特異メソッドの追加に対するフックには
Object#singleton_method_added
を使います。
@param name 追加されたメソッドの名前が Symbol で渡されます。
cla......ss 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
# method _ undefined(name) -> () (136) -
このモジュールのインスタンスメソッド name が Module#undef_method によって削除されるか、 undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。
...ド name が
Module#undef_method によって削除されるか、
undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。
特異メソッドの削除をフックするには
Object#singleton_method_undefined
を使います。
@param name 削......除/未定義にされたメソッド名が Symbol で渡されます。
class C
def C.method_undefined(name)
puts "method C\##{name} was undefined"
end
def foo
end
def bar
end
undef_method :foo
undef bar
end
実行結果:
method C#foo was undefined... -
Module
# autoload(const _ name , feature) -> nil (130) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
...定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
@param const_name String または Symbol で指定します。
なお、const_name には、"::" 演算子を含めることはできません。
つまり、トップレ... -
Module
# class _ variable _ get(name) -> object (130) -
クラス/モジュールに定義されているクラス変数 name の値を返します。
...クラス/モジュールに定義されているクラス変数 name の値を返します。
@param name String または Symbol を指定します。
@raise NameError クラス変数 name が定義されていない場合、発生します。
class Fred
@@foo = 99
end
def Fred.fo... -
Module
# undef _ method(*name) -> self (130) -
このモジュールのインスタンスメソッド name を未定義にします。
...このモジュールのインスタンスメソッド name を未定義にします。
@param name String または Symbol を一つ以上指定します。
@raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。
=== 「未定義にす......る」とは
このモジュールのインスタンスに対して name という
メソッドを呼び出すことを禁止するということです。
スーパークラスの定義が継承されるかどうかという点において、
「未定義」は「メソッドの削除」とは区......名を String または Symbol で与えられることです。
module M1
def foo
end
def self.moo
undef foo
end
end
M1.instance_methods false #=> ["foo"]
M1.moo
M1.instance_methods false #=> []
module M2
def foo
end
def self.moo
undef_method :fo... -
Module
# define _ method(name) { . . . } -> Proc (125) -
インスタンスメソッド name を定義します。
...インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で Object#instance_eval されます。
@param name String または Symbol を指定します。
@pa... -
Module
# define _ method(name , method) -> Proc | Method | UnboundMethod (125) -
インスタンスメソッド name を定義します。
...インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で Object#instance_eval されます。
@param name String または Symbol を指定します。
@pa... -
Module
# class _ variable _ defined?(name) -> bool (124) -
name で与えられた名前のクラス変数がモジュールに存在する場合 true を 返します。
...
name で与えられた名前のクラス変数がモジュールに存在する場合 true を
返します。
@param name Symbol か String を指定します。
class Fred
@@foo = 99
end
Fred.class_variable_defined?(:@@foo) #=> true
Fred.class_variable_defined?(:@@bar) #... -
Module
# class _ variable _ set(name , val) -> object (124) -
クラス/モジュールにクラス変数 name を定義して、その値として val をセットします。val を返します。
...クラス/モジュールにクラス変数 name を定義して、その値として
val をセットします。val を返します。
@param name String または Symbol を指定します。
class Fred
@@foo = 99
def foo
@@foo
end
end
def Fred.foo(val)
class_var... -
Module
# const _ defined?(name) -> bool (124) -
モジュールに name で指定される名前の定数が定義されている時真 を返します。
...モジュールに name で指定される名前の定数が定義されている時真
を返します。
スーパークラスや include したモジュールで定義された定数は対象には
なりません。(ただし、Object だけは例外)
@param name String, Symbol で指定さ......OO = 1
end
# Object は include したモジュールの定数に対しても
# true を返す
p Object.const_defined?(:FOO) # => true
module Bar
BAR = 1
end
class Object
include Bar
end
# ユーザ定義のモジュールに対しても同様
p Object.const_defined?(... -
Module
# const _ defined?(name , inherit = true) -> bool (124) -
モジュールに name で指定される名前の定数が定義されている時真 を返します。
...ュールに name で指定される名前の定数が定義されている時真
を返します。
スーパークラスや include したモジュールで定義された定数を検索対象
にするかどうかは第二引数で制御することができます。
@param name String, Symbol......定義された定数は対象にはなりません。
module Kernel
FOO = 1
end
# Object は include したモジュールの定数に対しても
# true を返す
p Object.const_defined?(:FOO) # => true
module Bar
BAR = 1
end
class Object
include Bar
end... -
Module
# const _ get(name) -> object (124) -
モジュールに定義されている name で指定される名前の定数の値を 取り出します。
...ールに定義されている name で指定される名前の定数の値を
取り出します。
Module#const_defined? と違って Object を特別扱いすることはありません。
@param name 定数名。String か Symbol で指定します。
@raise NameError 定数が定義され......ていないときに発生します。
module Bar
BAR = 1
end
class Object
include Bar
end
# Object では include されたモジュールに定義された定数を見付ける
p Object.const_get(:BAR) # => 1
class Baz
include Bar
end
# Object以外でも同様......p Baz.const_get(:BAR) # => 1
# 定義されていない定数
p Baz.const_get(:NOT_DEFINED) #=> raise NameError... -
Module
# const _ get(name , inherit = true) -> object (124) -
モジュールに定義されている name で指定される名前の定数の値を 取り出します。
...モジュールに定義されている name で指定される名前の定数の値を
取り出します。
Module#const_defined? と違って Object を特別扱いすることはありません。
@param name 定数名。String か Symbol で指定します。
@param inherit false を指定......スや include したモジュールで
定義された定数は対象にはなりません。
@raise NameError 定数が定義されていないときに発生します。
module Bar
BAR = 1
end
class Object
include Bar
end
# Object では include されたモジュール......nd
# Object以外でも同様
p Baz.const_get(:BAR) # => 1
# 定義されていない定数
p Baz.const_get(:NOT_DEFINED) #=> raise NameError
# 第二引数に false を指定すると自分自身に定義された定数から探す
p Baz.const_get(:BAR, false) #=> raise NameError... -
Module
# const _ set(name , value) -> object (124) -
モジュールに name で指定された名前の定数を value とい う値として定義し、value を返します。
...モジュールに name で指定された名前の定数を value とい
う値として定義し、value を返します。
そのモジュールにおいてすでにその名前の定数が定義されている場合、警
告メッセージが出力されます。
@param name Symbol,String... -
Module
# method _ defined?(name) -> bool (124) -
モジュールにインスタンスメソッド name が定義されているとき true を返します。
...モジュールにインスタンスメソッド name が定義されているとき
true を返します。
@param name Symbol か String を指定します。
@see Module#public_method_defined?, Module#private_method_defined?, Module#protected_method_defined?... -
Module
# private _ class _ method(*name) -> self (124) -
name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を private に変更します。
...
name で指定したクラスメソッド (クラスの特異メソッド) の
可視性を private に変更します。
@param name 0 個以上の String か Symbol を指定します。... -
Module
# private _ constant(*name) -> Module (124) -
name で指定した定数の可視性を private に変更します。
...
name で指定した定数の可視性を private に変更します。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 存在しない定数を指定した場合に発生します。
@raise SecurityError セーフレベル($SAFE)が 4 以上で自身が......untrust なオブジェクトではない場合に発生します。
@return 自身を返します。
@see Module#public_constant, Object#untrusted?... -
Module
# private _ method _ defined?(name) -> bool (124) -
インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が private であるときに true を返します。 そうでなければ false を返します。
...ンスタンスメソッド name がモジュールに定義されており、
しかもその可視性が private であるときに true を返します。
そうでなければ false を返します。
@param name Symbol か String を指定します。
@see Module#method_defined?... -
Module
# protected _ method _ defined?(name) -> bool (124) -
インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が protected であるときに true を返します。 そうでなければ false を返します。
...ンスタンスメソッド name がモジュールに定義されており、
しかもその可視性が protected であるときに true を返します。
そうでなければ false を返します。
@param name Symbol か String を指定します。
@see Module#method_defined?... -
Module
# public _ class _ method(*name) -> self (124) -
name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を public に変更します。
...
name で指定したクラスメソッド (クラスの特異メソッド) の
可視性を public に変更します。
@param name 0 個以上の String か Symbol を指定します。... -
Module
# public _ constant(*name) -> Module (124) -
name で指定した定数の可視性を public に変更します。
...
name で指定した定数の可視性を public に変更します。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 存在しない定数を指定した場合に発生します。
@raise SecurityError セーフレベル($SAFE)が 4 以上で自身が......untrust なオブジェクトではない場合に発生します。
@return 自身を返します。
@see Module#private_constant, Object#untrusted?... -
Module
# public _ method _ defined?(name) -> bool (124) -
インスタンスメソッド name がモジュールに定義されており、 しかもその可視性が public であるときに true を返します。 そうでなければ false を返します。
...ンスタンスメソッド name がモジュールに定義されており、
しかもその可視性が public であるときに true を返します。
そうでなければ false を返します。
@param name Symbol か String を指定します。
@see Module#method_defined?... -
Module
# remove _ const(name) -> object (124) -
name で指定した定数を取り除き、その定数に設定されていた値を 返します。
...
name で指定した定数を取り除き、その定数に設定されていた値を
返します。
@param name String または Symbol を指定します。
@return 引数で指定された定数に設定されていた値を返します。
@raise NameError 引数で指定された定数が......ない場合に発生します。
class Foo
FOO = 1
p remove_const(:FOO) # => 1
p FOO # => uninitialized constant FOO at Foo (NameError)
end
現在のところ組み込みクラス/モジュールを設定している定数や
Kernel.#autoload を指定した(まだロード......してない)定数を削除
できないという制約があります。
class Object
remove_const :Array
end
=> -:2:in `remove_const': cannot remove Object::Array (NameError)
@see Module#remove_class_variable, Object#remove_instance_variable... -
Module
# remove _ method(*name) -> self (124) -
インスタンスメソッド name をモジュールから削除します。
...インスタンスメソッド name をモジュールから削除します。
Ruby 1.8.0 以降は複数のメソッド名を指定して一度に削除できます。
@param name String または Symbol を一つ以上指定します。
@raise NameError 指定したメソッドが定義され......ていない場合に発生します。
class C
def foo
end
remove_method :foo
remove_method :no_such_method # 例外 NameError が発生
end
@see Module#undef_method... -
Module
# method _ removed(name) -> () (120) -
メソッドが Module#remove_method により削除 された時にインタプリタがこのメソッドを呼び出します。
...メソッドが Module#remove_method により削除
された時にインタプリタがこのメソッドを呼び出します。
特異メソッドの削除に対するフックには
Object#singleton_method_removed
を使います。
@param name 削除されたメソッド名が Symbol で渡......されます。
class Foo
def Foo.method_removed(name)
puts "method \"#{name}\" was removed"
end
def foo
end
remove_method :foo
end
=> method "foo" was removed... -
Module
# autoload?(const _ name) -> String | nil (108) -
autoload 定数がまだ定義されてない(ロードされていない) ときにそのパス名を返します。 また、ロード済みなら nil を返します。
...ない(ロードされていない) ときにそのパス名を返します。
また、ロード済みなら nil を返します。
@param const_name String または Symbol で指定します。
@see Kernel.#autoload?... -
Module
# const _ missing(name) (108) -
定義されていない定数を参照したときに Ruby インタプリタが このメソッドを呼びます。
...義されていない定数を参照したときに Ruby インタプリタが
このメソッドを呼びます。
@param name 参照した定数名の Symbol
@raise NameError このメソッドを呼び出した場合、デフォルトで発生する例外
class Foo
def Foo.const_missing... -
Module
# instance _ method(name) -> UnboundMethod (108) -
self のインスタンスメソッドをオブジェクト化した UnboundMethod を返します。
...self のインスタンスメソッドをオブジェクト化した UnboundMethod を返します。
@param name Symbol か String です。
@raise NameError self に存在しないメソッドを指定した場合に発生します。
@see Object#method... -
Module
# module _ function(*name) -> self (108) -
メソッドをモジュール関数にします。
...ath モジュールのメソッドはすべてモジュール関数です。
self を返します。
@param name String または Symbol を 0 個以上指定します。
=== 注意
module_function はメソッドに「モジュール関数」という属性をつけるメ
ソッドではなく......てもモジュール関数の別名は定義できません。
module M
def foo
p "foo"
end
module_function :foo
alias bar foo
end
M.foo # => "foo"
M.bar # => undefined method `bar' for Foo:Module (NoMethodError)
このコードでは、モジュール関数 foo......名を付けるには、
以下のように、先に別名を定義してから
それぞれをモジュール関数にしなければいけません。
module M
def foo
p "foo"
end
alias bar foo
module_function :foo, :bar
end
M.foo # => "foo"
M.bar # => "foo"... -
Module
# private(*name) -> self (108) -
メソッドを private に設定します。
...与えられた時には引数によって指定されたメソッドを private に
設定します。
@param name String または Symbol を 0 個以上指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
class Foo
def foo1() 1 end... -
Module
# protected(*name) -> self (108) -
メソッドを protected に設定します。
...に設定します。
引数が与えられた時には引数によって指定されたメソッドを protected
に設定します。
@param name String または Symbol を 0 個以上指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。...
