るりまサーチ

最速Rubyリファレンスマニュアル検索!
708件ヒット [301-400件を表示] (0.112秒)

別のキーワード

  1. argf.class each
  2. argf.class each_line
  3. argf.class lines
  4. class new
  5. argf.class gets

検索結果

<< < ... 2 3 4 5 6 ... > >>

Module#prepend_features(mod) -> self (26.0)

Module#prepend から呼び出されるメソッドで、 prepend の処理の実体です。このメソッド自体は mod で指定した モジュール/クラスの継承チェインの先頭に self を追加します。

...Module#prepend から呼び出されるメソッドで、
prepend の処理の実体です。このメソッド自体は mod で指定した
モジュール/クラスの継承チェインの先頭に self を追加します。

このメソッドを上書きすることで、prepend の処理を変...
...れます

//emlist[例][ruby]{
class
Recorder
RECORDS = []
end

module
X
def self.prepend_features(mod)
Recorder::RECORDS << mod
end
end

class
A
prepend X
end

class
B
include X
end

class
C
prepend X
end

Recorder::RECORDS # => [A, C]
//}

@see Module#prepend, Module#prepended...

Module#to_s -> String (26.0)

モジュールやクラスの名前を文字列で返します。

...t[例][ruby]{
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
p Module.new.to_s #=> "#<Module:0x00007f90b0...
...9112c8>"
p Class.new.to_s #=> "#<Class:0x00007fa5c40b41b0>"
//}...

Module#undef_method(*name) -> self (26.0)

このモジュールのインスタンスメソッド name を未定義にします。

...い。

//emlist[例][ruby]{
class
A
def ok
puts 'A'
end
end
class
B < A
def ok
puts 'B'
end
end

B.new.ok # => B

# undef_method の場合はスーパークラスに同名のメソッドがあっても
# その呼び出しはエラーになる
class
B
undef_method :ok
end
B.new....
...ッドがあると
# それが呼ばれる
class
B
remove_method :ok
end
B.new.ok # => A
//}

また、undef 文と undef_method の違いは、
メソッド名を String または Symbol で与えられることです。

//emlist[例][ruby]{
module
M1
def foo
end
def self.moo
undef f...
...oo
end
end
M1.instance_methods false #=> ["foo"]
M1.moo
M1.instance_methods false #=> []
module
M2
def foo
end
def self.moo
undef_method :foo
end
end
M2.instance_methods false #=> ["foo"]
M2.moo
M2.instance_methods false #=> []
//}...

Module#<=>(other) -> Integer | nil (20.0)

self と other の継承関係を比較します。

...なければ
nil を返します。

@param other 比較対象のクラスやモジュール

//emlist[例][ruby]{
module
Foo
end
class
Bar
include Foo
end
class
Baz < Bar
end
class
Qux
end
p Bar <=> Foo # => -1
p Baz <=> Bar # => -1
p Baz <=> Foo # => -1
p Baz <=> Qux # => nil
p Q...

Module#const_get(name, inherit = true) -> object (20.0)

name で指定される名前の定数の値を取り出します。

...name で指定される名前の定数の値を取り出します。

Module
#const_defined? と違って Object を特別扱いすることはありません。

@param name 定数名。String か Symbol で指定します。
完全修飾名を指定しなかった場合はモジュー...
...いないときに発生します。

//emlist[例][ruby]{
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.c...
...ror
# 第二引数に false を指定すると自分自身に定義された定数から探す
p Baz.const_get(:BAR, false) #=> raise NameError
# 完全修飾名を指定すると include や自分自身へ定義されていない場合でも参照できる
p Class.const_get("Bar::BAR") # => 1
//}...

絞り込み条件を変える

Module#const_source_location(name, inherited = true) -> [String, Integer] (20.0)

name で指定した定数の定義を含むソースコードのファイル名と行番号を配列で返します。

...った場合は空の配列を返します。

//emlist[例][ruby]{
# test.rb:
class
A # line 1
C1 = 1
C2 = 2
end

module
M # line 6
C3 = 3
end

class
B < A # line 10
include M
C4 = 4
end

class
A # 継続して A を定義する
C2 = 8 # 定数を再定義する
end...
...] -- Object を継承している為
p M.const_source_location('A') # => ["test.rb", 1] -- Object は継承していないが追加で modules をチェックする

p Object.const_source_location('A::C1') # => ["test.rb", 2] -- ネストの指定もサポートしている
p Object....

Module#include(*mod) -> self (20.0)

モジュール mod をインクルードします。

...ます。

@param mod Module のインスタンス( Enumerable など)を指定します。

@raise ArgumentError 継承関係が循環してしまうような include を行った場合に発生します。

//emlist[例][ruby]{
module
M
end
module
M2
include M
end
module
M
include M2
end
//}...
...継ぐことです。
インクルードは多重継承の代わりに用いられており、 mix-in とも呼びます。

//emlist[例][ruby]{
class
C
include FileTest
include Math
end

p C.ancestors

# => [C, Math, FileTest, Object, Kernel]
//}

モジュールの機能追加は、クラス...
...先に行われます
(上の例の Module#ancestors の結果がメソッド探索の順序です)。

同じモジュールを二回以上 include すると二回目以降は無視されます。

//emlist[例][ruby]{
module
M
end
class
C1
include M
end
class
C2 < C1
include M # この incl...

Module#instance_methods(inherited_too = true) -> [Symbol] (20.0)

そのモジュールで定義されている public および protected メソッド名 の一覧を配列で返します。

...false を指定するとそのモジュールで定義されているメソッドのみ返します。

@see Object#methods

//emlist[例1][ruby]{
class
Foo
private; def private_foo() end
protected; def protected_foo() end
public; def public_foo() end
end

# あるクラスのイン...
...vate_instance_methods(false)
p Foo.protected_instance_methods(false)

class
Bar < Foo
end
//}

実行結果

[:protected_foo, :public_foo]
[:public_foo]
[:private_foo]
[:protected_foo]

//emlist[例2][ruby]{
class
Bar
private; def private_foo() end
protected; def protecte...

Module#const_defined?(name, inherit = true) -> bool (14.0)

モジュールに name で指定される名前の定数が定義されている時真 を返します。

...は対象にはなりません。

//emlist[例][ruby]{
module
Kernel
FOO = 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?(:BAR) # => true

class
Baz
include Bar
end
# Object 以外でも同様になった
# 第二引数のデフォルト値が true であるため
p Baz.const_defined?(:BAR) # => true

# 第二引数を false にした場合
p Baz.const_defined?(...
<< < ... 2 3 4 5 6 ... > >>