関連するキーワード
ライブラリ
- ビルトイン (9)
キーワード
-
module
_ function (3) -
undef
_ method (3)
検索結果
先頭3件
-
Module
# ===(obj) -> bool (18107) -
指定された obj が自身かそのサブクラスのインスタンスであるとき真を返します。 また、obj が自身をインクルードしたクラスかそのサブクラスのインスタンスである場合にも 真を返します。上記のいずれでもない場合に false を返します。
...はクラス、モジュールの所属関係をチェックすることになります。
str = String.new
case str
when String # String === str を評価する
p true # => true
end
@param obj 任意のオブジェクト
@see Object#kind_of?, Object#instance_of?, d:spec/co... -
Module
# module _ function(*name) -> self (7) -
メソッドをモジュール関数にします。
...ドはすべてモジュール関数です。
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
# undef _ method(*name) -> self (7) -
このモジュールのインスタンスメソッド name を未定義にします。
...を一つ以上指定します。
@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...
