Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > связный список на Ruby


Автор: DenQ 12.1.2011, 12:55
Здравствуйте!
Пытаюсь реализовать связный список на Ruby. Но что-то не пойму как связать объекты, для построения списка.
Код

class Re
    def initialize(el)
        @el = el
    end
end


В принципе можно работать и с массива как со списками, но нужно именно список. Подскажите пожалуйста.

Автор: source777 12.1.2011, 13:23
Судя по тому, что ты создал тему на форуме, а не обратился к Google, я понимаю, что готовые решения тебя не интересуют. Но не понятно в чём у тебя возникла проблема... Ведь реализация связных списков на Ruby ничем принципиально не отличается от реализации связных списков на других языках программирования, да и к ООП, строго говоря, связные списки прямого отношения не имеют.

Цитата(DenQ @  12.1.2011,  12:55 Найти цитируемый пост)
Но что-то не пойму как связать объекты, для построения списка.

Для этого согласно определению связного списка создаётся структура или класс Node, экземпляры которого содержат текущий элемент и указатель на следующий элемент списка, а в случае двусвязного списка ещё и указатель на предыдущий элемент списка.

Автор: DenQ 12.1.2011, 13:42
Цитата(source777 @  12.1.2011,  13:23 Найти цитируемый пост)
Судя по тому, что ты создал тему на форуме, а не обратился к Google, я понимаю, что готовые решения тебя не интересуют

Экстрасенс из тебя не очень скажу я тебе. Найди мне хоть один пример реализации связного списка на Ruby  во всем интернете.
Цитата(source777 @  12.1.2011,  13:23 Найти цитируемый пост)
Ведь реализация связных списков на Ruby ничем принципиально не отличается от реализации связных списков на других языках программирования,

В Ruby нет указателей. И я просто не знаю за что мне зацепиться.
Цитата(source777 @  12.1.2011,  13:23 Найти цитируемый пост)
Для этого согласно определению связного списка создаётся структура или класс Node, экземпляры которого содержат текущий элемент и указатель на следующий элемент списка, а в случае двусвязного списка ещё и указатель на предыдущий элемент списка.

Говоря по простому, ты мне ну нифига не сказал. Все это я и так знаю.

Лучше б чем умничать, привел пример реализации(на ruby). Может быть я чего-то не знаю, может быть можно как-то получить адрес объекта в адресном пространстве, это бы меняло дело. А так.. чем их связывать? разве что создать структуру содержащую массив, в котором будут содержаться частные экземпляры класса и уникальный номер, а сами элементы(экземпляры) содержали бы в дополнительных свойствах номера предыдущих и следующих частных экземпляров класса.
Но будет ли это считаться списком тогда...

Автор: GrayCardinal 12.1.2011, 17:24
Товарищи ! Дружно учите мат. часть ! 
1. В переменных руби хранятся АДРЕСА объектов.
2. Чем стандартный Array не угодил ?!

Автор: EvgenyMyasishchev 12.1.2011, 17:29
Собственно говоря на руби ты всегда (или почти всегда) оперируеш ссылками на обьект. Поиск по гуглу дал несколько вариантов: http://www.google.com/search?hl=en&source=hp&q=ruby+linked+list&btnG=Google+Search&aq=f&oq=&aqi=

А в целом source777 прав, реализация связанного списка на руби ничем не отличается от ее реализации на других языках...

Автор: GrayCardinal 12.1.2011, 17:30
Цитата

или почти всегда

это когда ? smile

Автор: EvgenyMyasishchev 12.1.2011, 17:36
Цитата(GrayCardinal @ 12.1.2011,  17:30)
Цитата

или почти всегда

это когда ? smile

Я не уверен как в руби с примитивами работа обстоит. Давно теорию не читал smile

Автор: DenQ 12.1.2011, 18:13
EvgenyMyasishchev, большое спасибо. Вот как раз Node  я еще не изучал. Согласен название темы не очень удачное, просто хотелось привлечь больше внимания.
Нравится же мне этот Ruby, все так просто и понятно в нем... 
Добавил бы репу, но поблагодарить к сожалению не могу, нужно по правилам форума набрать 100 постов... ИМХО это глупо. Теперь мне понятно почему тут так много пользователей у которых маленькая репа...

Автор: EvgenyMyasishchev 12.1.2011, 18:34
Да, мне руби тоже нравится. Я правда сейчас в основном пишу на дотнете, ASP.NET MVC, но Ruby и в частности RubyOnRails мне тоже супер нравится. Пытаемся с приятелем стартап развивать, там часть на RubyOnRails реализованна... smile. Недавно перейшел на Rails 3, ребята конечно супер работу проделали...

Автор: DenQ 12.1.2011, 18:50
А вот по поводу RoR, тоже начинаю потихоньку втягиваться, после PHP и других. Но что-то как-то рельсы встали криво, то ли гем... я пока только проинсталлил все, и проект сгенерил... думаю скоро буду задавать вопросы в соответствующих разделах.

А вот Ruby я слышал многие считают языком для души, и я кажется начинаю понимать почему smile

Автор: GrayCardinal 12.1.2011, 18:55
Цитата

А вот Ruby я слышал многие считают языком для души

 smile  smile  smile 

Автор: EvgenyMyasishchev 12.1.2011, 19:07
Цитата(DenQ @  12.1.2011,  18:50 Найти цитируемый пост)
А вот по поводу RoR, тоже начинаю потихоньку втягиваться, после PHP и других. 


Сразу рекомендую переходить на линукс, ну или мак. Под виндой руби медленно работает, ну и рельсы соответственно тоже, а когда програмиш это блин напрягает...

Автор: DenQ 13.1.2011, 10:06
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)