self < other
-
self <= other
-
self > other
-
self >= other
-
比較演算子.self
がotherのスーパーク
ラスである時,self > otherが成立します.
-
self === obj
-
このメソッドは主にcase
文での比較に用いられます。
objがselfとkind_of?
の関係がある時,真になります.つまり,
case
ではクラス,モジュールの所属関係をチェックすることになります.
-
alias_method(new,old)
-
alias
と同様にメ
ソッドの別名を定義します.違いは以下の通りです.
- メソッド名は文字列またはID(整数)で指定する.
- 大域変数の別名をつける機能は無い.
-
append_features(module_or_class)
-
モジュール(あるいはクラス)に別のモジュールの機能を追加します.
Module#include
の実体です.
-
attr(name[, assignable])
-
そのモジュールをインクルードするクラスのインスタンスに対して
nameという属性とそのアクセスメソッドを定義します.
アクセスメソッドの定義は次の通りです.
def attr; @attr; end
省略可能な第2引数assignableが指定され,その値が真であ
る場合には書き込みメソッドname=
も同時に定義され
ます.その定義は以下の通りです.
def attr=(val); @attr = val; end
アクセスメソッドを再定義することで属性の挙動を変更できます.
例えば書き込みメソッドを以下のように定義することで代入された
値をプリントできます.
attr("test", TRUE)
def test=(val)
print("test was ", @test, "\n")
print("and now is ", @test = val, "\n")
end
-
attr_reader(name, ...)
-
nameで指定された名称の属性の読みだしメソッドを定義します.
-
attr_writer(name, ...)
-
nameで指定された名称の属性の更新メソッド
(name=
)を定義します.
-
attr_accessor(name, ...)
-
nameで指定された名称の属性に対して読みだしメソッ
ドと更新メソッドの両方を定義します.
-
ancestors
-
そのモジュールでインクルードしているモジュールを優先順位順に
配列に格納して返します.
-
class_eval(src)
-
-
class_eval{...}
-
module_evalの別名.
-
constants
-
そのモジュール(またはクラス)で定義されている定数名の配列を返
します.
-
const_defined?(name)
-
モジュールにnameで指定される名前の定数が定義され
ている時真を返します.
-
const_get(name)
-
モジュールに定義されているnameで指定される名前の
定数の値を取り出します.定数が定義されていない時には例外
NameError
が発生します.
-
const_set(name, value)
-
モジュールにnameで指定された名前の定数を
valueという値として定義します.そのモジュールにお
いてすでにその名前の定数が定義されている場合,例外
NameError
が発生します.
-
extend_object(object)
-
オブジェクトにモジュールの機能を追加します.
Object#extend
の実体です.
-
include(module...)
-
指定されたモジュールの性質(メソッドや定数)を追加します.
include
は多重継承の代わりに用いられるMix-inを実
現するために使われます.
-
included_modules
-
インクルードされているモジュールの配列を返します.
-
instance_methods
-
そのモジュールで定義されているメソッド名の一覧を返します.
method_added(id)
-
メソッドが追加された時にインタプリタから呼び出されます.
-
method_defined?(id)
-
インスタンスがidで指定されたメソッドを持っている
時,真を返します.
-
module_eval(expr)
-
-
module_eval{...}
-
モジュールのコンテキストでexprとして与えられた文
字列を評価します.ブロックが与えられた場合には文字列ではな
くブロックをモジュールのコンテキストで評価します.
モジュールのコンテキストでは
がそのモジュールの定義の中にあるのと同じように評価されます.ただ
し,ローカル変数はmodule_eval
の外側のスコープと
共有します.
-
module_function(name...)
-
nameで指定されたメソッドをモジュール関数にします.
モジュール関数とは通常のメソッドであると同時にモジュール(ま
たはクラス)の特異メソッドでもあるようなメソッドです.例えば
Math
モジュールで定義さ
れているメソッドがモジュール関数です
-
name()
-
モジュールの名前を返します.
-
private(name...)
-
引数が与えられない時,今後このクラスまたはモジュール定義内で
新規に定義されるメソッドを関数形式でだけ呼び出せるように
(private)設定します.
引数が与えられた時には引数によって指定されたメソッドをprivate
に設定します.
例:
module Foo
def foo1() 1 end # デフォルトではpublic
private # 可視性をprivateに変更
def foo2() 2 end # foo2はprivateメソッド
end
foo = Foo.new
foo.foo1
=> 1
foo.foo2
error--> private method `foo2' called #<Foo:0x4011ad8c>(Foo)
-
private_instance_methods
-
そのモジュールで定義されているprivateメソッド名の一覧を返します.
-
protected(name...)
-
引数が与えられない時,今後このクラスまたはモジュール定義内で
新規に定義されるメソッドをprotectedに設定します.protectedと
はそのメソッドが定義されているクラスまたはそのサブクラスから
しか呼び出すことができないという意味です.
引数が与えられた時には引数によって指定されたメソッドをprotected
に設定します.
-
public(name...)
-
引数が与えられない時,今後このクラスまたはモジュール定義内で
新規に定義されるメソッドをどんな形式でも呼び出せるように
(public)設定します.
引数が与えられた時には引数によって指定されたメソッドをpublic
に設定します.
例:
def foo() 1 end
foo
=> 1
self.foo # the toplevel default is private
error--> private method `foo' called for "main"(Object)
def bar() 2 end
public :bar # visibility changed (all access allowed)
bar
=> 2
self.bar
=> 2
-
private_class_method(name, ...)
-
-
public_class_method(name, ...)
-
nameで指定したクラスメソッド(クラスの特異メソッド)
の可視性を変更します.
-
remove_const(name)
-
nameで指定した定数を取り除きます.もし指定した定
数がそのモジュール(またはクラス)で定義されていない時,
NameError
例外が発生します.
-
remove_method(name)
-
nameで指定したメソッドをモジュールから取り除きま
す.もし指定したメソッドが存在しない時には
NameError
例外が発生します.
-
undef_method(name)
-
nameで指定したメソッドの定義を取り消します.
undef
との違いは
メソッド指定を文字列またはID(整数)で行う点です.