Здравствуйте, 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();