るりまサーチ

最速Rubyリファレンスマニュアル検索!
244件ヒット [1-100件を表示] (0.061秒)
トップページ > クエリ:end[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...
...定義のネストと同じです。
d:spec/def#nest_method を参照してください。

BasicObject を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、ト...
...ta
end

private
def do_fuga
p 'secret'
end

end


some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

some.instance_eval 'raise' # ..:10: (eval):1: (RuntimeError)
messg = 'unknown'
some.instance_eval...

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

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

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

メソッド定義の中で instance_eval でメソッドを定義した場合は、囲むメソッドが実行されたときに
初めて instance_eval...
...定義のネストと同じです。
d:spec/def#nest_method を参照してください。

BasicObject を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されているメソッドは見えません。
これは、ト...
...ta
end

private
def do_fuga
p 'secret'
end

end


some = Foo.new 'XXX'
some.instance_eval{p @key} #=> "XXX"
some.instance_eval{do_fuga } #=> "secret" # private メソッドも呼び出せる

some.instance_eval 'raise' # ..:10: (eval):1: (RuntimeError)
messg = 'unknown'
some.instance_eval...

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

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

...fined

===[a:class] クラス定義

//emlist[例][ruby]{
class Foo < Super
def test
# ...
end

# ...
end

//}

文法:

class 識別子 [`<' superclass ]
式..
end


文法:

class 識別子 [`<' superclass ]
式..
[rescue [erro...
...r_type,..] [=> evar] [then]
式..]..
[else
式..]
[ensure
式..]
end


クラスを定義します。クラス名はアルファベットの大文字で始まる識別子です。

rescue/ensure 節を指定し、例外処理ができ...
...クトが
selfであるコンテキスト(メソッド定義式やinstance_eval)でのみ呼び出せ
ます。

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

protected :foo
end


obj = Foo.new

# そのままでは呼べない
obj.foo rescue nil #...

ruby 1.6 feature (306.0)

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

...ーになっていました。
((<ruby-dev:17155>))

open("|-","r+") {|f|
if f
f.dup.close_write
else
sleep 1
end

}

=> ruby 1.6.7 (2002-03-01) [i586-linux]
-:3:in `close_write': closing non-duplex IO for writing (IOError)
from -:3...
...トで 2 回シグナルを送らないと終了しない不具合が修正さ
れました。((<ruby-bugs-ja:PR#223>))

trap(:TERM, "EXIT")

END
{
puts "exit"
}

Thread.start { Thread.stop }
sleep

: 2002-04-17: Regexp#inspect

((<ruby-bugs-ja:PR#222>))

p %r{\/}...
...変数が定義されていない場合例外 NameError を起こ
すようになりました。((<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 `remo...

Marshal フォーマット (162.0)

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

...n4 = 255
when -1; n2 = n3 = n4 = 255
end


n = (0xffffff00 | n1) &
(0xffff00ff | n2 * 0x100) &
(0xff00ffff | n3 * 0x10000) &
(0x00ffffff | n4 * 0x1000000)
# p "%x" % n
n = -((n ^ 0xffff_ffff) + 1) if len < 0
n
end


p Marshal.dump(-125).unpack("x2 acC*")...
...クラス名(Symbol)の dump | 親クラスのインスタンスの dump |
//}

//emlist[例 1][ruby]{
class Foo < Array # (or String, Regexp, Hash)
end

p Marshal.dump(Foo.new([nil])).unpack("x2 a a c a3 aca*")
# => ["C", ":", 8, "Foo", "[", 6, "0"]
# ^^^ (or '"', '/', '{')
/...
...Foo
end

p Marshal.dump(Foo).unpack("x2 a c a*") # => ["c", 8, "Foo"]
//}

//emlist[例 2: クラス/モジュールのインスタンス変数は dump されない][ruby]{
module Bar
@bar = 1
end

p Bar.instance_eval { @bar } # => 1
File.open('testfile', 'wb') do |f|
Marshal.dump(Bar, f)
end


#...

絞り込み条件を変える

Object#respond_to?(name, include_all = false) -> bool (78.0)

オブジェクトがメソッド name を持つとき真を返します。

...//emlist[][ruby]{
class F
def hello
"Bonjour"
end

end


class D
private
def hello
"Guten Tag"
end

end

list = [F.new,D.new]

list.each{|it| puts it.hello if it.respond_to?(:hello)}
#=> Bonjour

list.each{|it| it.instance_eval("puts hello if it.respond_to?(:hello, true)")}
#=> Bonjo...
...late_method
finish
end


def start
puts "start"
end


def template_method
raise NotImplementedError.new
end


def finish
puts "finish"
end

end


class ImplTemplateMethod
include Template
def template_method
"implement template_method"
end

end


class NotImplTemplat...
...eMethod
include Template

# not implement template_method
end


puts ImplTemplateMethod.new.respond_to?(:template_method) # => true
# NotImplementedError が発生しているが、Rubyによる実装部のため true を返す
puts NotImplTemplateMethod.new.respond_to?(:template_method) # => tru...

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

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

...たプログラムテキストをコンパイルし、BEGIN 文があればそれを評価し、トップレベルの式の連なりを評価し、END ブロックがあれば最後にそれを評価して終了します (終了処理の詳細については spec/terminate を参照のこと)。

==...
...
==== until 修飾子
==== for
==== begin 〜 end

==== クラス定義式

クラスを定義します。
評価は(コンパイル時ではなく)実行時に行われます。

書式

class ClassName [< スーパークラス式]

end


クラス定義式は評価されるとまず...
...す。Module#module_eval/class_eval、
BasicObject#instance_eval
の三つだけが例外で、以下のように変更されます。

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

NEWS for Ruby 3.1.0 (48.0)

NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...ッドに渡されるだけの場合は、ブロックの引数を無名にできるようになりました。 11256

//emlist{
def foo(&)
bar(&)
end

//}

* ピン演算子に式を書けるようになりました。 17411

//emlist{
Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3...
...に持つ配列(シングルトンクラスを含まない)を返します。

//emlist[Class#subclasses][ruby]{
class A; end
class B < A; end
class C < B; end
class D < A; end
A.subclasses #=> [D, B]
B.subclasses #=> [C]
C.subclasses #=> []
//}

* Enumerable
* 新規メソッド...
...した。 18290

== 実装の改善

* クラス変数の読み込みにインラインキャッシュが導入されました。 17763
* instance_eval と instance_exec は、必要な時だけシングルトンクラスを割り当てるようになり、余分なオブジェクトの生成を...

drb (48.0)

分散オブジェクトプログラミングのためのライブラリです。

...ss << ro
# リモートオブジェクトの instance_eval を呼ぶため
# ローカルオブジェクトの instance_eval を取り除く
undef :instance_eval
end

ro.instance_eval("DANGEROUS RUBY CODE!")

このような instance_eval による危険性は $SAFE を 1
以上にす...
...# 通信を待ち受ける URI
SERVER_URI="druby://localhost:8787"

class TimeServer

def get_current_time
return Time.now
end


end


# サーバ側でリクエストを受け付けるオブジェクト
FRONT_OBJECT=TimeServer.new

# サーバを起動する
DR...
...ss << ro
# リモートオブジェクトの instance_eval を呼ぶため
# ローカルオブジェクトの instance_eval を取り除く
undef :instance_eval
end

ro.instance_eval("DANGEROUS RUBY CODE!")

このような instance_eval による危険性は $SAFE を 1
にするこ...
<< 1 2 3 > >>