るりまサーチ

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

別のキーワード

  1. csv instance
  2. _builtin instance_eval
  3. prime instance
  4. basicobject instance_eval
  5. syslog instance

ライブラリ

クラス

モジュール

オブジェクト

検索結果

<< 1 2 3 > >>

BasicObject#instance_eval {|obj| ... } -> object (18198.0)

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

... instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。

メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval...
...ス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、トップレベルの定数が Object 以下に作成されるためです。

@
param expr 評価する文字列です。

@
param filenam...
...

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

//emlist[例][ruby]{
class Foo
def initialize data
@
key...

BasicObject#instance_eval(expr, filename = "(eval)", lineno = 1) -> object (18198.0)

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

... instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。

メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval...
...ス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、トップレベルの定数が Object 以下に作成されるためです。

@
param expr 評価する文字列です。

@
param filenam...
...

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

//emlist[例][ruby]{
class Foo
def initialize data
@
key...

クラス/メソッドの定義 (66.0)

クラス/メソッドの定義 * クラス/メソッドの定義: * class * singleton_class * module * method * operator * nest_method * eval_method * singleton_method * class_method * limit * 定義に関する操作: * alias * undef * defined

...@x, @yに対応するゲッタとセッタを定義
def initialize(x, y) # コンストラクタ
@
x = x; @y = y # @がつくのがインスタンス変数(メンバ変数)
end
def ==(other_vec) # いわゆる演算子オーバーライド
other_vec.x == @x && other_vec.y == @...
...y
end
def +(other_vec)
Vector2D.new(other_vec.x + @x, other_vec.y + @y)
end
# ...
end
vec0 = Vector2D.new(10, 20); vec1 = Vector2D.new(20, 30)
p vec0 + vec1 == Vector2D.new(30, 50) #=> true
//}

仮引数にデフォルト式が与えられた場合、メソッド呼び出しで実引数...
...に設定されたメソッドは、そのメソッドを持つオブジェクトが
selfであるコンテキスト(メソッド定義式やinstance_eval)でのみ呼び出せ
ます。

//emlist[例: protected の可視性][ruby]{
class Foo
def foo
p caller.last
end
protected :foo
e...

Marshal フォーマット (60.0)

Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。

...lass Foo < Array # (or String, Regexp, Hash)
def initialize(obj)
@
foo = false
super(obj)
end
end
p Marshal.dump(Foo.new([true])).unpack("x2 a a a c a3 aca caca4 a")
# => ["I", "C", ":", 8, "Foo", "[", 6, "T", 6, ":", 9, "@foo", "F"]
//}

==== その他

実装上内部構造が異なる...
...タンス変数あり][ruby]{
class Foo
def initialize
@
foo = :bar
@
one = 1
end
end
p Marshal.dump(Foo.new).unpack("x2 a a c a3 c aca4 aca3 aca4 ac")
# => ["o", ":", 8, "Foo", 7,
# ":", 9, "@foo", ":", 8, "bar",
# ":", 9, "@one", "i", 6]
//}

=== Float

'f' で始まるデータ...
...le Bar
@
bar = 1
end
p Bar.instance_eval { @bar } # => 1
File.open('testfile', 'wb') do |f|
Marshal.dump(Bar, f)
end

# 別プログラム相当にするため remove_const
Object.send :remove_const, :Bar

module Bar
end

p bar = Marshal.load(File.binread('testfile'))
p bar.instance_eval { @bar }...

ruby 1.6 feature (60.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

...。((<ruby-bugs-ja:PR#216>))

Object.new.instance_eval {
p remove_instance_variable :@foo
}
=> ruby 1.6.7 (2002-03-01) [i586-linux]
nil

=> -:2:in `remove_instance_variable': instance variable @foo not defined (NameError)
ruby 1.6.7 (20...
...わることはなくなりました。((<ruby-dev:17876>))

class Foo
FOO = 1
@
@foo = 1
end

FOO = 2
@
@foo = 2

Foo.module_eval { p FOO, @@foo }

=> ruby 1.6.7 (2002-03-01) [i586-linux]
1
1

=> ruby 1....
...variable

((<ruby-talk:35122>))

class C
class << self
def test
@
@cv = 5
p @@cv
end
end

test
end
=> -:5:in `test': uninitialized class variable @@cv in C (NameError)
from -:9
ruby 1.6.7 (2002-03-01) [i586-linux]...

絞り込み条件を変える

Kernel.#eval(expr) -> object (42.0)

文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。

...たい場合、
Module#module_eval, BasicObject#instance_eval が使えます。

@
param expr 評価する文字列です。
@
param bind 評価コンテキストです。
@
param fname スタックトレースに表示するファイル名です。
@
param lineno 文字列 expr が書かれている...
...val('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"

eval('def fuga;p 777 end')
fuga #=> 777

eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}

@
see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,Object#method,Object#send...

Kernel.#eval(expr, bind, fname = "(eval)", lineno = 1) -> object (42.0)

文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。

...たい場合、
Module#module_eval, BasicObject#instance_eval が使えます。

@
param expr 評価する文字列です。
@
param bind 評価コンテキストです。
@
param fname スタックトレースに表示するファイル名です。
@
param lineno 文字列 expr が書かれている...
...val('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"

eval('def fuga;p 777 end')
fuga #=> 777

eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}

@
see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,Object#method,Object#send...

main.define_method(name) { ... } -> Symbol (36.0)

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

...sicObject#instance_eval されます。

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

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

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

@
raise Type...
...Error method に同じクラス、サブクラス以外のメソッドを指定し
た場合に発生します。


@
see Module#define_method...

main.define_method(name, method) -> Symbol (36.0)

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

...sicObject#instance_eval されます。

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

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

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

@
raise Type...
...Error method に同じクラス、サブクラス以外のメソッドを指定し
た場合に発生します。


@
see Module#define_method...
<< 1 2 3 > >>