るりまサーチ

最速Rubyリファレンスマニュアル検索!
84件ヒット [1-84件を表示] (0.115秒)

別のキーワード

  1. _builtin end
  2. ripper end_seen?
  3. _builtin exclude_end?
  4. _builtin end_with?
  5. matchdata end

ライブラリ

キーワード

検索結果

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

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

...ソッドが定義されます。これはメソッド定義のネストと同じです。
d:spec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されて...
...トレースの表示などを差し替えることができます。

//emlist[例][ruby]{
class Foo
def initialize data
@key = data
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" # pr...
...imeError)
//}

//emlist[例][ruby]{
class Bar < BasicObject
def call1
instance_eval("::ENV.class")
end

def call2
instance_eval("ENV.class")
end

end


bar = Bar.new
bar.call1 # => Object
bar.call2 # raise NameError
//}

@see Module#module_eval, Kernel.#eval, BasicObject#instance_exec...

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

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

...ソッドが定義されます。これはメソッド定義のネストと同じです。
d:spec/def#nest_method を参照してください。

BasicObject
を継承して作ったクラス内で instance_eval する場合はトップレベルの定数や Kernel モジュールに定義されて...
...トレースの表示などを差し替えることができます。

//emlist[例][ruby]{
class Foo
def initialize data
@key = data
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" # pr...
...imeError)
//}

//emlist[例][ruby]{
class Bar < BasicObject
def call1
instance_eval("::ENV.class")
end

def call2
instance_eval("ENV.class")
end

end


bar = Bar.new
bar.call1 # => Object
bar.call2 # raise NameError
//}

@see Module#module_eval, Kernel.#eval, BasicObject#instance_exec...

BasicObject#! -> bool (38.0)

オブジェクトを真偽値として評価し、その論理否定を返します。

...order < BasicObject
def initialize
@count = 0
end

attr_reader :count

def !
@count += 1
super
end

end


recorder = NegationRecorder.new
!recorder
!!!!!!!recorder
puts 'hoge' if !recorder

puts recorder.count #=> 3
//}

//emlist[例][ruby]{
class AnotherFalse < BasicObject
def...
...!
true
end

end

another_false = AnotherFalse.new

# another_falseは*真*
puts "another false is a truth" if another_false
#=> "another false is a truth"
//}...

BasicObject#method_missing(name, *args) -> object (38.0)

呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。

...ruby]{
class Foo
def initialize(data)
@data = data
end

def method_missing(name, lang)
if name.to_s =~ /\Afind_(\d+)_in\z/
if @data[lang]
p @data[lang][$1.to_i]
else
raise "#{lang} unknown"
end

else
super
end

end

end


dic = Foo.new({:Eng...

BasicObject#!=(other) -> bool (26.0)

オブジェクトが other と等しくないことを判定します。

...論理否定して返します。
このため、サブクラスで BasicObject#== を再定義しても != とは自動的に整合性が
とれるようになっています。

ただし、 BasicObject#!= 自身や BasicObject#! を再定義した際には、ユーザーの責任で
整合性を...
...her 比較対象となるオブジェクト
@see BasicObject#==, BasicObject#!

//emlist[例][ruby]{
class NonequalityRecorder < BasicObject
def initialize
@count = 0
end

attr_reader :count

def !=(other)
@count += 1
super
end

end

recorder = NonequalityRecorder.new

recorder !=...

絞り込み条件を変える

BasicObject#==(other) -> bool (20.0)

オブジェクトが other と等しければ真を、さもなくば偽を返します。

...list[例][ruby]{
class Person < BasicObject
def initialize(name, age)
@name = name
@age = age
end

end


tanaka1 = Person.new("tanaka", 24)
tanaka2 = Person.new("tanaka", 24)

tanaka1 == tanaka1 #=> true
tanaka1 == tanaka2 #=> false
//}

@see BasicObject#equal?, Object#==, Object#equ...

BasicObject#instance_exec(*args) {|*vars| ... } -> object (20.0)

与えられたブロックをレシーバのコンテキストで実行します。

...タに渡す値です。

//emlist[例][ruby]{
class KlassWithSecret
def initialize
@secret = 99
end

end

k = KlassWithSecret.new
# 以下で x には 5 が渡される
k.instance_exec(5) {|x| @secret + x } #=> 104
//}

@see Module#class_exec, Module#module_exec, BasicObject#instance_eval...