Структура данных дерево
От: Ka3a4oK  
Дата: 03.08.10 12:10
Оценка:
Как на Nemerle определить структуру данных типа лисповского списка?
(1(2, 3, (4, 5)), 6, 7, (8, 8, 10), (11, 12)) или иными словами дерево произвольной ветвистости.
Re: Структура данных дерево
От: _nn_ www.nemerleweb.com
Дата: 03.08.10 12:36
Оценка: +1
Здравствуйте, Ka3a4oK, Вы писали:

KK>Как на Nemerle определить структуру данных типа лисповского списка?

KK>(1(2, 3, (4, 5)), 6, 7, (8, 8, 10), (11, 12)) или иными словами дерево произвольной ветвистости.

http://nemerle.org/Grok_Variants_and_matching
(Using variants as trees , XML trees)
Такое ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Структура данных дерево
От: catbert  
Дата: 04.08.10 12:11
Оценка: -1
Здравствуйте, Ka3a4oK, Вы писали:

KK>Как на Nemerle определить структуру данных типа лисповского списка?

KK>(1(2, 3, (4, 5)), 6, 7, (8, 8, 10), (11, 12)) или иными словами дерево произвольной ветвистости.

Можно даже так:
def lst = [1, [2, [3, 4], 5], 6, 7, [8, 8, 10], [11, 12] : object];

Правда работает такой способ не всегда (иногда приходится к последнему элементу списков приписывать уточнение : object, чтобы компилятор не ругался на то, что в списке элементы разных типов.
Re[2]: Структура данных дерево
От: Мишень-сан  
Дата: 05.08.10 07:42
Оценка:
Здравствуйте, catbert, Вы писали:

C>Здравствуйте, Ka3a4oK, Вы писали:


KK>>Как на Nemerle определить структуру данных типа лисповского списка?

KK>>(1(2, 3, (4, 5)), 6, 7, (8, 8, 10), (11, 12)) или иными словами дерево произвольной ветвистости.

C>Можно даже так:

C>def lst = [1, [2, [3, 4], 5], 6, 7, [8, 8, 10], [11, 12] : object];

C>Правда работает такой способ не всегда (иногда приходится к последнему элементу списков приписывать уточнение : object, чтобы компилятор не ругался на то, что в списке элементы разных типов.


ИМХО если Вы пытаетесь хранить в списке object'ы, у вас что-то не так с этим list
Re[3]: Структура данных дерево
От: catbert  
Дата: 05.08.10 09:45
Оценка:
Здравствуйте, Мишень-сан, Вы писали:

МС>ИМХО если Вы пытаетесь хранить в списке object'ы, у вас что-то не так с этим list


Ну, это как вариант ответа на:
KK>>>Как на Nemerle определить структуру данных типа лисповского списка?
Re[2]: Структура данных дерево
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.08.10 03:18
Оценка:
Здравствуйте, catbert, Вы писали:

C>Можно даже так:

C>def lst = [1, [2, [3, 4], 5], 6, 7, [8, 8, 10], [11, 12] : object];

Можно, конечно. Но довольно бессмысленно, так как язык статически типизированный, а это решение чисто динамичекое. Код разгребающий эти списки будет неуклюжим и медленным (относительно типизированного аналога).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.