2011-08-28 11 views
7

私は新しいRubyプログラマです。私はC++でポインタを使ってデータ構造を実装することができましたが、Rubyではこれらのデータ構造(たとえばツリー)をどのように実装できるかわかりません。 誰かが私を助けることができますか(私に良いリファレンスを紹介するなど)。 特別なおかげです。実装ツリーとその他のデータ構造とruby

+0

ActiveRecordオブジェクトを関連付ける、またはRubyのみの質問ですか? – apneadiving

+0

すみません、私はActiveRecoedのようなあなたのコメントの中で何らかの表現を意味するものではありません。あなたはもっとはっきりと説明できますか? –

+0

ActiveRecordはRailsのOrmです – apneadiving

答えて

10

Rubyはポインタを必要としません。ほとんどのものは参照によって渡されます。で

> a = "hello" 
> b = a 
> a.object_id == b.object_id 
=> true 

最も単純なだけ親を持つ構造体、および左右の兄弟かもしれないツリーノードを形成する:あなたはたとえばで見ることができるより完全な実装については

> Node = Struct.new(:parent, :left, :right) 
> root = Node.new 
> n1 = Node.new(root, "hello", "world") 
> root.left = n1 
... 

> root.left.left 
=> "hello" 
> root.left.right 
=> "world" 

RubyTree:
http://rubytree.rubyforge.org/rdoc/

SimpleTree:
https://github.com/ealdent/simple-tree/blob/master/lib/simple_tree.rb

関連する問題