2011-08-28 33 views
7

Tôi là chương trình Ruby mới. khi tôi ở trong C++, tôi có thể thực hiện các cấu trúc dữ liệu bằng con trỏ nhưng bây giờ trong Ruby tôi không biết làm thế nào tôi có thể thực hiện các cấu trúc dữ liệu này (ví dụ như cây). Ai đó có thể giúp tôi (ví dụ giới thiệu cho tôi một tài liệu tham khảo tốt hoặc lấy một ví dụ tốt). Cảm ơn đặc biệt.Cây triển khai và cấu trúc dữ liệu khác với ruby ​​

+0

Bạn có muốn liên kết các đối tượng ActiveRecord hay chỉ là câu hỏi mà Ruby định hướng? – apneadiving

+0

Xin lỗi, tôi không có ý nghĩa của một số biểu hiện trong nhận xét của bạn như ActiveRecoed. bạn có thể giải thích rõ hơn không? –

+0

ActiveRecord là Rails 'Orm – apneadiving

Trả lời

10

Ruby không có cũng không cần con trỏ vì hầu hết mọi thứ chỉ đơn giản là thông qua tham chiếu.

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

Trong nó đơn giản nhất tạo thành một nút cây chỉ có thể là một cấu trúc, với cha mẹ và anh chị em ruột trái và phải:

> 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" 

Đối với việc triển khai hoàn chỉnh hơn bạn có thể nhìn vào ví dụ:

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

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

Các vấn đề liên quan