Re[6]: Ну спасибо за развёрнутый ответ..
От: varenikAA  
Дата: 17.10.19 07:08
Оценка:
Здравствуйте, alexzzzz, Вы писали:

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


AA>>Чисто визуально даже, приятней было бы:

AA>>
AA>>let d = DateTime()
AA>>


A>Возможно, я просто привык, но мне нравится, когда вызов конструктора типа визуально отличается от вызова какого-то метода. Не вижу тут каких-то особых неудобств и вопросом, нужно в конкретном месте писать new или не нужно, никогда не задавался.


Для сравнения:

            void Proc1(Func<DateTime> r)
            {
                WriteLine(r());
            };

            Proc1(() => new DateTime());
            _ = ReadLine();
            return;

— близко, но не так хорошо как:

        def Proc1(a) {
            WriteLine(a());
        };
        
        Proc1(DateTime);
 
        _ = ReadLine();


Такое решение также позволяет использовать конструктор там, где требуется функция (или делегат).

И да, в C кажется нет new.
☭ ✊ В мире нет ничего, кроме движущейся материи.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.