るりまサーチ

最速Rubyリファレンスマニュアル検索!
325件ヒット [301-325件を表示] (0.123秒)
トップページ > クエリ:self[x] > クエリ:t[x] > クエリ:@[x] > クラス:Module[x]

別のキーワード

  1. object yield_self
  2. _builtin yield_self
  3. _builtin self
  4. tracepoint self
  5. codeobject document_self

検索結果

<< < ... 2 3 4 >>

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

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

...トで評価するとは、実行中そのモジュールが self になるということです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。

ただし、ローカル変数は 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]
//}

@
see BasicObject#instance_eval, Module.new, Kernel.#eval...

Module#public(name) -> String | Symbol (131.0)

メソッドを public に設定します。

...f#limit を参照して下さい。

@
param name 0 個以上の String または Symbol を指定します。
@
param names 0 個以上の String または Symbol を Array で指定します。

@
raise NameError 存在しないメソッド名を指定した場合に発生します。

//emlist[例]...
...def foo() 1 end
p foo # => 1
# the toplevel default is private
p self.foo # => private method `foo' called for #<Object:0x401c83b0> (NoMethodError)

def bar() 2 end
public :bar # visibility changed (all access allowed)
p bar # => 2
p self.bar # => 2
//}...

Module#freeze -> self (114.0)

モジュールを凍結(内容の変更を禁止)します。

...

凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に
RuntimeError
が発生します。

@
see Object#freeze

//emlist[例][ruby]{
module
Foo; end
Foo.freeze

module
Foo
def foo; end
end # => RuntimeError: can't modify frozen module
//}...
...

凍結したモジュールにメソッドの追加など何らかの変更を加えようとした場合に
FrozenError
が発生します。

@
see Object#freeze

//emlist[例][ruby]{
module
Foo; end
Foo.freeze

module
Foo
def foo; end
end # => FrozenError: can't modify frozen module
//}...
<< < ... 2 3 4 >>