36件ヒット
[1-36件を表示]
(0.126秒)
キーワード
- DRbObject (12)
- OpenStruct (12)
検索結果
-
BasicObject (44049.0)
-
特殊な用途のために意図的にほとんど何も定義されていないクラスです。 Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。
...義されていないクラスです。
Objectクラスの親にあたります。Ruby 1.9 以降で導入されました。
=== 性質
BasicObject クラスは Object クラスからほとんどのメソッドを取り除いたクラスです。
Object クラスは様々な便利なメソッド......ct と考えて差し支えありません。
しかし、ある種のクラスを定義する際には Object クラスは持っているメソッドが多すぎる
場合があります。
例えば、 BasicObject#method_missingを利用して Proxy パターンを実
装する場合にはObject......なく BasicObject から派生
して問題を解決できます。
=== 注意
通常のクラスは Object またはその他の適切なクラスから派生すべきです。
真に必要な場合にだけ BasicObject から派生してください。
=== 例
//emlist[例][ruby]{
class Proxy... -
DRb
:: DRbObject (6013.0) -
リモートの dRuby オブジェクトを表すオブジェクトです。
...シとして働きます。
つまりインスタンスへのメソッド呼び出しはリモートプロセスに送られ
リモート側でメソッドが呼び出されます。
内部的には BasicObject#method_missing でメソッド呼び出しを
hook して、それを転送します。... -
OpenStruct (6013.0)
-
要素を動的に追加・削除できる手軽な構造体を提供するクラスです。
...的に追加・削除できる手軽な構造体を提供するクラスです。
OpenStruct のインスタンスに対して未定義なメソッド x= を呼ぶと、
OpenStruct クラスの BasicObject#method_missing で捕捉され、そのインスタンスに
インスタンスメソッド x......ます。
require 'ostruct'
ab = OpenStruct.new
ab.foo = 25
p ab.foo # => 25
ab.bar = 2
p ab.bar # => 2
p ab # => <OpenStruct foo=25, bar=2>
ab.delete_field("foo")
p ab.foo # => nil
p ab # => <OpenStruct bar=2>
初期化に......truct'
son = OpenStruct.new({ :name => "Thomas", :age => 3 })
p son.name # => "Thomas"
p son.age # => 3
son.age += 1
p son.age # => 4
son.items = ["candy","toy"]
p son.items # => ["candy","toy"]
p son # => #<OpenStruct name="Thomas", age=4, it...