るりまサーチ

最速Rubyリファレンスマニュアル検索!
84件ヒット [1-84件を表示] (0.071秒)
トップページ > クエリ:c[x] > クエリ:class_eval[x]

別のキーワード

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

ライブラリ

クラス

キーワード

検索結果

Module#class_eval {|mod| ... } -> object (24274.0)

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

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

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

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

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

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

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

# ブロックが渡された...
...
C
.class_eval { X = 1 }

# 文字列が渡された場合は、モジュール定義式内と同じスコープになる。つまり、この場合は
# class C
# X = 2
# end
# と書いたのと同じ意味になる。
C
.class_eval 'X = 2'

p X #=> 1
p C::X #=> 2
//}

@see BasicObject#instance...

Module#class_eval(expr, fname = "(eval)", lineno = 1) -> object (24274.0)

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

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

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

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

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

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

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

# ブロックが渡された...
...
C
.class_eval { X = 1 }

# 文字列が渡された場合は、モジュール定義式内と同じスコープになる。つまり、この場合は
# class C
# X = 2
# end
# と書いたのと同じ意味になる。
C
.class_eval 'X = 2'

p X #=> 1
p C::X #=> 2
//}

@see BasicObject#instance...

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

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

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

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

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

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

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

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

# ブロックが渡された...
...
C
.class_eval { X = 1 }

# 文字列が渡された場合は、モジュール定義式内と同じスコープになる。つまり、この場合は
# class C
# X = 2
# end
# と書いたのと同じ意味になる。
C
.class_eval 'X = 2'

p X #=> 1
p C::X #=> 2
//}

@see BasicObject#instance...

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

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

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

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

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

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

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

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

# ブロックが渡された...
...
C
.class_eval { X = 1 }

# 文字列が渡された場合は、モジュール定義式内と同じスコープになる。つまり、この場合は
# class C
# X = 2
# end
# と書いたのと同じ意味になる。
C
.class_eval 'X = 2'

p X #=> 1
p C::X #=> 2
//}

@see BasicObject#instance...

Module#class_exec(*args) {|*vars| ... } -> object (6118.0)

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

...に渡す引数を指定します。


//emlist[例][ruby]{
c
lass Thing
end
c
= 1

Thing.class_exec{
def hello()
"Hello there!"
end

define_method(:foo) do # ローカル変数がブロックの外側を参照している
c

end
}

t = Thing.new
p t.hello() #=> "Hello t...
...here!"
p t.foo() #=> 1
//}

@see Module#module_eval, Module#class_eval...

絞り込み条件を変える

Module#module_exec(*args) {|*vars| ... } -> object (6118.0)

与えられたブロックを指定された args を引数としてモジュールのコンテキストで評価します。

...に渡す引数を指定します。


//emlist[例][ruby]{
c
lass Thing
end
c
= 1

Thing.class_exec{
def hello()
"Hello there!"
end

define_method(:foo) do # ローカル変数がブロックの外側を参照している
c

end
}

t = Thing.new
p t.hello() #=> "Hello t...
...here!"
p t.foo() #=> 1
//}

@see Module#module_eval, Module#class_eval...

Ruby プログラムの実行 (3060.0)

Ruby プログラムの実行 === Ruby プログラム

...の式の連なりを評価し、END ブロックがあれば最後にそれを評価して終了します (終了処理の詳細については spec/terminate を参照のこと)。

=== 文

==== if

if 文は、まず条件式を評価し、その値が真ならば対応する本体を評価し...
...ます。

書式

c
lass ClassName [< スーパークラス式]

end

クラス定義式は評価されるとまずクラスを生成しようとします。スーパークラ
ス式が指定されていたらそれを評価し、その値を上位クラスとする Class
クラスのイ...
...ックの self と class を継承します。Module#module_eval/class_eval
BasicObject#instance_eval
の三つだけが例外で、以下のように変更されます。

: Module#module_eval, Module#class_eval
self、class ともそのレシーバ
: BasicObject#instance_eval
self が...