78件ヒット
[1-78件を表示]
(0.037秒)
種類
- インスタンスメソッド (66)
- 特異メソッド (12)
キーワード
-
class
_ eval (6) -
class
_ variable _ set (6) -
define
_ method (12) - inspect (6)
-
instance
_ method (6) -
module
_ eval (6) - private (6)
-
to
_ s (6) -
undef
_ method (6)
検索結果
先頭5件
-
Module
. new -> Module (18141.0) -
名前の付いていないモジュールを新しく生成して返します。
...ックに渡し、
モジュールのコンテキストでブロックを実行します。
mod = Module.new
mod.module_eval {|m| ... }
mod
と同じです。
ブロックの実行は Module#initialize が行います。
ブロックを与えた場合も生成したモジュールを返し......名のいずれかです。
m = Module.new
p m # => #<Module 0lx40198a54>
p m.name # => nil # まだ名前は未定
Foo = m
# m.name # ここで m.name を呼べば m の名前は "Foo" に確定する
Bar = m
m.name # "Foo" か "Bar" の... -
Module
. new {|mod| . . . } -> Module (18141.0) -
名前の付いていないモジュールを新しく生成して返します。
...ックに渡し、
モジュールのコンテキストでブロックを実行します。
mod = Module.new
mod.module_eval {|m| ... }
mod
と同じです。
ブロックの実行は Module#initialize が行います。
ブロックを与えた場合も生成したモジュールを返し......名のいずれかです。
m = Module.new
p m # => #<Module 0lx40198a54>
p m.name # => nil # まだ名前は未定
Foo = m
# m.name # ここで m.name を呼べば m の名前は "Foo" に確定する
Bar = m
m.name # "Foo" か "Bar" の... -
Module
# name -> String (15152.0) -
モジュールやクラスの名前を文字列で返します。
...ては nil を返します。
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... -
Module
# undef _ method(*name) -> self (150.0) -
このモジュールのインスタンスメソッド name を未定義にします。
...このモジュールのインスタンスメソッド name を未定義にします。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。
=== 「未定義にする......」とは
このモジュールのインスタンスに対して name という
メソッドを呼び出すことを禁止するということです。
スーパークラスの定義が継承されるかどうかという点において、
「未定義」は「メソッドの削除」とは区別......def ok
puts 'B'
end
end
B.new.ok # => B
# undef_method の場合はスーパークラスに同名のメソッドがあっても
# その呼び出しはエラーになる
class B
undef_method :ok
end
B.new.ok # => NameError
# remove_method の場合はスー... -
Module
# define _ method(name) { . . . } -> Symbol (133.0) -
インスタンスメソッド name を定義します。
...インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。
@param name メソッド名を String または Symbol......l を返します。
@raise TypeError method に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :foo... -
Module
# define _ method(name , method) -> Symbol (133.0) -
インスタンスメソッド name を定義します。
...インスタンスメソッド name を定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
レシーバクラスのインスタンスの上で BasicObject#instance_eval されます。
@param name メソッド名を String または Symbol......l を返します。
@raise TypeError method に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :foo... -
Module
# class _ variable _ set(name , val) -> object (132.0) -
クラス/モジュールにクラス変数 name を定義して、その値として val をセットします。val を返します。
...クラス/モジュールにクラス変数 name を定義して、その値として
val をセットします。val を返します。
@param name String または Symbol を指定します。
class Fred
@@foo = 99
def foo
@@foo
end
end
def Fred.foo(val)
class_var......iable_set(:@@foo, val)
end
p Fred.foo(101) # => 101
p Fred.new.foo # => 101... -
Module
# instance _ method(name) -> UnboundMethod (132.0) -
self のインスタンスメソッド name をオブジェクト化した UnboundMethod を返します。
...タンスメソッド name をオブジェクト化した UnboundMethod を返します。
@param name メソッド名を Symbol または String で指定します。
@raise NameError self に存在しないメソッドを指定した場合に発生します。
@see Module#public_instance_method......" => instance_method(:do_d),
"e" => instance_method(:do_e),
"v" => instance_method(:do_v)
}
def interpret(string)
string.each_char {|b| Dispatcher[b].bind(self).call }
end
end
interpreter = Interpreter.new
interpreter.interpret('dave')
# => Hello there, Dave!... -
Module
# private(*name) -> self (116.0) -
メソッドを private に設定します。
...private に
設定します。
可視性については d:spec/def#limit を参照して下さい。
@param name String または Symbol を 0 個以上指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
class Foo
def foo1() 1 end......# デフォルトでは public
private # 可視性を private に変更
def foo2() 2 end # foo2 は private メソッド
end
foo = Foo.new
p foo.foo1 # => 1
p foo.foo2 # => private method `foo2' called for #<Foo:0x401b7628> (NoMethodError)... -
Module
# class _ eval(expr , fname = "(eval)" , lineno = 1) -> object (115.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...ことです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字列が与えられた場合には、定数とクラス変数のスコープ......のスコープはブロックの外側のスコープになります。
@param expr 評価される文字列。
@param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示......表示などを差し替えることができます。
例:
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
# module _ eval(expr , fname = "(eval)" , lineno = 1) -> object (115.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...ことです。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
文字列が与えられた場合には、定数とクラス変数のスコープ......のスコープはブロックの外側のスコープになります。
@param expr 評価される文字列。
@param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示......表示などを差し替えることができます。
例:
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
# inspect -> String (52.0) -
モジュールやクラスの名前を文字列で返します。
...ては nil を返します。
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... -
Module
# to _ s -> String (52.0) -
モジュールやクラスの名前を文字列で返します。
...ては nil を返します。
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...