るりまサーチ

最速Rubyリファレンスマニュアル検索!
992件ヒット [101-200件を表示] (0.070秒)
トップページ > クエリ:ruby[x] > 種類:インスタンスメソッド[x] > クエリ:-[x] > クエリ:@[x] > クラス:Module[x]

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

検索結果

<< < 1 2 3 4 ... > >>

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

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

...ドします。

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

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

//emlist[例][ruby]{
module
M
end
module
M2
include M
end
module
M
include M2
end...
...//}

実行結果:

-
:3:in `append_features': cyclic include detected (ArgumentError)
from -:3:in `include'
from -:3


インクルードとは、指定されたモジュールの定義
(メソッド、定数) を引き継ぐことです。
インクルードは多重継承の...
...代わりに用いられており、 mix-in とも呼びます。

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

p C.ancestors

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

モジュールの機能追加は、クラスの継承関係の間にそのモジュールが挿入
...

Module#module_eval {|mod| ... } -> object (138.0)

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。

...ことです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。

定数とクラス変数のスコープは、文字列が与えられた場合と...
...ます。


@
param expr 評価される文字列。

@
param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示などを差し替えることができます。

@
param lineno...
...とができます。

//emlist[例][ruby]{
class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}

p C.new.m #=> [:m, 1]
//}

//emlist[定数のスコープが異なる例][ruby]{
class C
end

# ブロックが渡...

Module#module_eval(expr, fname = "(eval)", lineno = 1) -> object (138.0)

モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。

...ことです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。

定数とクラス変数のスコープは、文字列が与えられた場合と...
...ます。


@
param expr 評価される文字列。

@
param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示などを差し替えることができます。

@
param lineno...
...とができます。

//emlist[例][ruby]{
class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}

p C.new.m #=> [:m, 1]
//}

//emlist[定数のスコープが異なる例][ruby]{
class C
end

# ブロックが渡...

Module#attr(*name) -> nil (132.0)

インスタンス変数読み取りのためのインスタンスメソッド name を定義します。

...りです。

//emlist[例][ruby]{
def name
@
name
end
//}

第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。
その定義は次の通りです。

//emlist[例][ruby]{
def name=(val)
@
name = val
end
//}

第 2 引...
...数 に true か false を指定する方法は非推奨です。

@
param name String または Symbol で指定します。...

Module#attr(name, false) -> nil (132.0)

インスタンス変数読み取りのためのインスタンスメソッド name を定義します。

...りです。

//emlist[例][ruby]{
def name
@
name
end
//}

第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。
その定義は次の通りです。

//emlist[例][ruby]{
def name=(val)
@
name = val
end
//}

第 2 引...
...数 に true か false を指定する方法は非推奨です。

@
param name String または Symbol で指定します。...

絞り込み条件を変える

Module#attr(name, true) -> nil (132.0)

インスタンス変数読み取りのためのインスタンスメソッド name を定義します。

...りです。

//emlist[例][ruby]{
def name
@
name
end
//}

第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。
その定義は次の通りです。

//emlist[例][ruby]{
def name=(val)
@
name = val
end
//}

第 2 引...
...数 に true か false を指定する方法は非推奨です。

@
param name String または Symbol で指定します。...

Module#attr_reader(*name) -> [Symbol] (132.0)

インスタンス変数 name の読み取りメソッドを定義します。

...ist[例][ruby]{
class User
attr_reader :name # => [:name]
# 複数の名前を渡すこともできる
attr_reader :id, :age # => [:id, :age]
end
//}

このメソッドで定義されるメソッドの定義は以下の通りです。

//emlist[例][ruby]{
def name
@
name
end
//}

@
param nam...
...e String または Symbol を 1 つ以上指定します。
@
return 定義されたメソッド名を Symbol の配列で返します。...

Module#attr_writer(*name) -> [Symbol] (132.0)

インスタンス変数 name への書き込みメソッド (name=) を定義します。

...][ruby]{
class User
attr_writer :name # => [:name=]
# 複数の名前を渡すこともできる
attr_writer :id, :age # => [:id=, :age=]
end
//}

このメソッドで定義されるメソッドの定義は以下の通りです。

//emlist[例][ruby]{
def name=(val)
@
name = val
end
//}

@
p...
...aram name String または Symbol を 1 つ以上指定します。
@
return 定義されたメソッド名を Symbol の配列で返します。...

Module#constants(inherit = true) -> [Symbol] (132.0)

そのモジュール(またはクラス)で定義されている定数名の配列を返します。

...の順序は保証されません。

@
param inherit true を指定するとスーパークラスや include したモジュールで
定義された定数が対象にはなります。false を指定した場合 対象にはなりません。

@
see Module.constants, Kernel.#local_variables,...
...Kernel.#global_variables, Object#instance_variables, Module#class_variables

//emlist[Module.constants と Module#constants の違い][ruby]{
# 出力の簡略化のため起動時の定数一覧を取得して後で差し引く
$clist = Module.constants

class Foo
FOO = 1
end
class Bar
BAR = 1...
...ない
p Module.constants - $clist # => [:BAR, :Bar, :Foo]
class Baz
# Baz は定数を含まない
p constants # => []

# ネストしたクラスでは、外側のクラスで定義した定数は
# 参照可能なので、BAR は、Module.constant...

Module#define_method(name) { ... } -> Symbol (132.0)

インスタンスメソッド name を定義します。

...val されます。

@
param name メソッド名を String または Symbol を指定します。

@
param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@
return メソッド名を表す Symbol を返します。

@
raise TypeError me...
...thod に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。

//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :foo
//}...

絞り込み条件を変える

Module#define_method(name, method) -> Symbol (132.0)

インスタンスメソッド name を定義します。

...val されます。

@
param name メソッド名を String または Symbol を指定します。

@
param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。

@
return メソッド名を表す Symbol を返します。

@
raise TypeError me...
...thod に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。

//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :foo
//}...
<< < 1 2 3 4 ... > >>