Здравствуйте, Cyberax, Вы писали:
C>Что будет Dictionary() в этом примере? C>Потому пусть new лучше остаётся.
Ни разу подобных проблем небыло.
А даже если кто-то такой метод и заведет то стандартные методы разрешения подобных конфликтов никто не отменял... всегда можно обратиться по полному имени.
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Иван, а ты еще в Редмонде? Я буду во вторник-среду там (остальное время в Ванкувере). Можно пересечься, пообщаться В частности, мне интересно, что вам там Эрик Мейер рассказывал. Кто там еще из rsdn тусовки есть?
Здравствуйте, WolfHound, Вы писали:
L>>А что не так в его вопросе? У Нashtable-а и Dictionary — разное поведение при чтении несуществующего элемента. WH>Вот именно это и нет так. Там было написано Dictionary, а не Нashtable.
Там было написано вообще keyValueMap, а какой там именно map — непонятно. И в зависимости от типа поведение у похожих методов будет разным.
Здравствуйте, Lloyd, Вы писали:
WH>>Вот именно это и нет так. Там было написано Dictionary, а не Нashtable. L>Там было написано вообще keyValueMap, а какой там именно map — непонятно. И в зависимости от типа поведение у похожих методов будет разным.
Там было написано:
def keyToValMap = Dictionary();
Конструктор явно задает тип.
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, Lloyd, Вы писали:
WH>>>Вот именно это и нет так. Там было написано Dictionary, а не Нashtable. L>>Там было написано вообще keyValueMap, а какой там именно map — непонятно. И в зависимости от типа поведение у похожих методов будет разным. WH>Там было написано: WH>
WH>def keyToValMap = Dictionary();
WH>
WH>Конструктор явно задает тип.
Вообще-то там был загадочный Dectionary() и что это конструктор ниоткуда не следует. Можно, конечно, предположить, что это generic-класс "System.Collections.Generic.Dictionary<TKey,TValue>", но куда в этом случае подевались типы-аргументы?
Здравствуйте, WolfHound, Вы писали:
WH>А теперь попробуй ответить чем вызов конструктора отличается от вызова метода? WH>Меня кстати всегда интересовало нафига в C# ключевое слово new ибо оно нафиг не упало.
Тем, что при использовании виден класс, чей метод (конструктор) вызывается. В обсуждаемом варианте можно предположить, что это метод текущего класса (что я и сделал).
Здравствуйте, mrTwister, Вы писали:
T>Вообще-то там был загадочный Dectionary()
Докапывание до опечаток. Как мелко... что совсем сказать нечего?
T>и что это конструктор ниоткуда не следует. Можно, конечно, предположить, что это generic-класс "System.Collections.Generic.Dictionary<TKey,TValue>", но куда в этом случае подевались типы-аргументы?
Если знать что язык на котором написан этот код прекрасно выводит типы из использования то очевидно куда они делись.
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, mrTwister, Вы писали:
T>Тем, что при использовании виден класс, чей метод (конструктор) вызывается. В обсуждаемом варианте можно предположить, что это метод текущего класса (что я и сделал).
Признайся хотя бы самому себе что ты это сделал не по тому что не понял что там создается словарь, а по тому что хочешь переспорить.
Как человек имеющий опыт разработки на немерле кода с весьма нетривиальной логикой (включая поиск и исправление ошибок в самом компиляторе) могу сказать что отсутствие new и вывод типов ни разу не создали проблем с пониманием того что происходит.
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, mrTwister, Вы писали:
WH>>Конструктор явно задает тип.
T>Вообще-то там был загадочный Dectionary() и что это конструктор ниоткуда не следует. Можно, конечно, предположить, что это generic-класс "System.Collections.Generic.Dictionary<TKey,TValue>", но куда в этом случае подевались типы-аргументы?
Подозреваю, система вывода типа Nemerle в состоянии вывести тип для этого случая.
Здравствуйте, WolfHound, Вы писали:
T>>Вообще-то там был загадочный Dectionary() WH>Докапывание до опечаток. Как мелко... что совсем сказать нечего?
Это не докапывание до опечаток, поиск ошибок в коде в процессе проведения code-review (который мы сейчас и обсуждаем). Собственно для этого code review и проводят.
WH>Если знать что язык на котором написан этот код прекрасно выводит типы из использования то очевидно куда они делись.
А, ну тогда предлагаю еще поубирать в коде разный мусор и сделать код более совершенным:
Здравствуйте, WolfHound, Вы писали:
WH>Как человек имеющий опыт разработки на немерле кода с весьма нетривиальной логикой (включая поиск и исправление ошибок в самом компиляторе) могу сказать что отсутствие new и вывод типов ни разу не создали проблем с пониманием того что происходит.
Это стандартный аргумент. Его регулярно произносят в холиварах любители линукса, виндовса, С++, скриптовых языков, языков со статической и динамической типизацией и прочее.
Здравствуйте, mrTwister, Вы писали:
T>Это не докапывание до опечаток, поиск ошибок в коде в процессе проведения code-review (который мы сейчас и обсуждаем). Собственно для этого code review и проводят.
Это именно докапывание до опечаток.
Ибо в реальной жизни такие "ошибки" ловит компилятор.
T>А, ну тогда предлагаю еще поубирать в коде разный мусор и сделать код более совершенным:
хъ T>Теперь враг точно не пройдет!
А какие проблемы?
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, mrTwister, Вы писали:
T>Это стандартный аргумент. Его регулярно произносят в холиварах любители линукса, виндовса, С++, скриптовых языков, языков со статической и динамической типизацией и прочее.
Нет.
В данном случае я прекрасно знаю и работал с обоими подходими. Как следствие могу сравнивать.
А ты как и те "любители" к которым ты опелируешь только один.
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, mrTwister, Вы писали:
WH>>В данном случае я прекрасно знаю и работал с обоими подходими. T>Это ещё один стандартный аргумент в холиварах.
Ты конечно можешь и дальше отвергать факты этой фразой но факты от этого не перестанут быть фактами ...
... << RSDN@Home 1.2.0 alpha 4 rev. 1305>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн