Re: Сахар перенесён весь?
От: hardcase Пират http://nemerle.org
Дата: 06.12.10 22:48
Оценка:
Здравствуйте, matumba, Вы писали:

M>Ребят, продолжаю осваивать Немерлю, тыкаюсь в отсутствие привычных удобств, а именно:

M>1. Не найду никак аналог "инициализации по месту":
var a = new Body { Hands = 2 }; // замечание: классы - дотнетовские


Инициализатор был в снипетах, в библиотеке макросов ObjectExpressions кажется.
1) В макро-референсы добавить NewObjectMacro.dll
2)
using Snippets;

...

def x = Body with { Hands = 2 };


Основное ограничение — не умеет инициализировать коллекции (в принципе легко докрутить).
Так как там используется ключевое слово with макрос может конфликтовать с другим кодом.
Если у кого-то есть идее по улучшению синтаксиса — велкам.

M>2. Какая-то беда с дженериками — объявляю поле класса:

M>
M>mutable groupNodes : Hashtable[int, Node] = Hashtable.[int, Node] ();
M>

M>БЕЗ подчёркнутого — не работает, ругаицца что нужен какой-то литеральный тип. А как же вывод типов?
M>Помогите советом, плиз, перерыл все доки — нету идей.

Без подчеркнутого работать не должен. А вывод типов, он да, есть:

mutable groupNodes : Hashtable[int, Node] = Hashtable();
/* иЗвиНите зА неРовнЫй поЧерК */
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.