るりまサーチ

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

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

クラス

モジュール

検索結果

<< 1 2 > >>

BasicObject (38064.0)

特殊な用途のために意図的にほとんど何も定義されていないクラスです。 Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。

...意図的にほとんど何も定義されていないクラスです。
Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。

=== 性質
BasicObject
クラスは Object クラスからほとんどのメソッドを取り除いたクラスです。

Object クラス...
...は様々な便利なメソッドや Kernel から受け継いだ関数的メソッド
を多数有しています。
これに対して、 BasicObject クラスはオブジェクトの同一性を識別したりメソッドを呼んだりする
最低限の機能の他は一切の機能を持って...
...の他の適切なクラスから派生すべきです。
真に必要な場合にだけ BasicObject から派生してください。

=== 例

//emlist[例][ruby]{
class Proxy < BasicObject
def initialize(target)
@target = target
end

def method_missing(message, *args)
@target.__sen...

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

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

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

ただし、 BasicObject#!= 自身や BasicObject#! を再定義した際には、ユーザーの責任で
整合性を...
...ものと想定されています。

@param other 比較対象となるオブジェクト
@see BasicObject#==, BasicObject#!

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

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

BasicObject#! -> bool (21036.0)

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

...ドを再定義しても Ruby の制御式において nil や false 以外が偽として
扱われることはありません。

@return オブジェクトが偽であれば真、さもなくば偽

//emlist[例][ruby]{
class NegationRecorder < BasicObject
def initialize
@count = 0
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_f...

BasicObject#instance_eval {|obj| ... } -> object (21036.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...
...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 (21036.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...
...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#method_missing(name, *args) -> object (21028.0)

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

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

呼び出しに失敗したメソッドの名前 (Symbol) が name に
その時の引数が第二引数以降に渡されます。

デフォルトではこの...
...method_missing メソッドの返り値が未定義メソッドの返り値で
あるかのように見えます。

//emlist[例][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...

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

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

...

//emlist[例][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#==, O...

BasicObject#instance_exec(*args) {|*vars| ... } -> object (21018.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...

Ruby用語集 (3873.0)

Ruby用語集 A B C D E F G I J M N O R S Y

...Ruby用語集
A B C D E F G I J M N O R S Y

a ka sa ta na ha ma ya ra wa

=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。

参照:d:spec/literal#percent

: 0 オリジン
: zero-ba...
...記述する。

Ruby
では三つの項を取る演算子は他にないため、しばしば「三項演算子」とも
呼ばれる。

: 条件式
値を真偽値として用いる式。if、unless、while、until のあとなどに書かれる。

: 初期化
: initialize
オブジェ...
...
と呼ぶ。
「親クラス」「上位クラス」と呼ぶこともある。

Ruby
では BasicObject を除くすべてのクラスがただ一つの
スーパークラスを持つ(BasicObject はスーパークラスを持たない)。
スーパークラスは Class#superclass...
<< 1 2 > >>