Как объявить optional параметр?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 26.05.11 22:52
Оценка:
Как написать аналогичный код на Nemerle?

class C
{
    static void Foo<T>(T x = default(T)) { }
}
Re: Как объявить optional параметр?
От: _nn_ www.nemerleweb.com
Дата: 29.05.11 11:43
Оценка:
Здравствуйте, nikov, Вы писали:

N>Как написать аналогичный код на Nemerle?


N>
N>class C
N>{
N>    static void Foo<T>(T x = default(T)) { }
N>}
N>


Теория
Автор: konsoletyper
Дата: 26.12.06
гласит, что должно быть так:
module C
{
  Foo[T](x : T = Nemerle.Extensions.DefaultValue(T)) : void {}
}


Однако макрос DefaultValue не является literal и код не компилируется.

Workaround:
module C
{
  Foo[T](x : T) : void {}
  Foo[T]() : void
  {
    mutable x : T; // mutable автоматически инициализируются в default(T)
    Foo(x);
  }
}


P.S.
Если не указать ": T" то выводится тип object, вместо T
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: Как объявить optional параметр?
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.05.11 13:12
Оценка: +1
Здравствуйте, nikov, Вы писали:

N>Как написать аналогичный код на Nemerle?

N>
N>class C
N>{
N>    static void Foo<T>(T x = default(T)) { }
N>}
N>


Никак. Это продолжение той же недоработки с инициализацией параметров. Они могут быть только литералами.

Присоединяйся к нам и помоги реализовать полноценные значения по умолчанию.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Как объявить optional параметр?
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.05.11 22:49
Оценка: 62 (4)
Здравствуйте, nikov, Вы писали:

N>Как написать аналогичный код на Nemerle?


N>
N>class C
N>{
N>    static void Foo<T>(T x = default(T)) { }
N>}
N>


Устранил эту недоработку в ревизии r9865.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Как объявить optional параметр?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 02.06.11 00:24
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Присоединяйся к нам и помоги реализовать полноценные значения по умолчанию.


При моей нынешней работе это затруднительно.
Чтобы только посмотреть на код open source проекта, мне нужно одобрение юристов, не говоря уже о том, чтобы делать туда какой-то вклад.
Re[3]: Как объявить optional параметр?
От: BogdanMart Украина  
Дата: 04.06.11 22:19
Оценка:
Здравствуйте, nikov, Вы писали:

N>При моей нынешней работе это затруднительно.

N>Чтобы только посмотреть на код open source проекта, мне нужно одобрение юристов, не говоря уже о том, чтобы делать туда какой-то вклад.

Ого, а в просмотре чего плохого может быть? Максимум -- почерпнешь что то новое для своего проекта. ... Какие же законы тупые )
Re[4]: Как объявить optional параметр?
От: catbert  
Дата: 04.06.11 22:34
Оценка:
Здравствуйте, BogdanMart, Вы писали:

BM>Ого, а в просмотре чего плохого может быть?


Если код, допустим, GPL, могут наехать что типа используются их наработки. Согласно GPL, в этом случае необходимо лицензировать "производную" работу под GPL. То есть открыть весь код.

BM>Какие же законы тупые )


Спасибо Столлману.
Re[5]: Как объявить optional параметр?
От: _nn_ www.nemerleweb.com
Дата: 05.06.11 07:37
Оценка:
Здравствуйте, catbert, Вы писали:

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


BM>>Ого, а в просмотре чего плохого может быть?


C>Если код, допустим, GPL, могут наехать что типа используются их наработки. Согласно GPL, в этом случае необходимо лицензировать "производную" работу под GPL. То есть открыть весь код.


Так Nemerle же не под GPL.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[6]: Как объявить optional параметр?
От: Аноним  
Дата: 05.06.11 10:35
Оценка:
C>>Если код, допустим, GPL, могут наехать что типа используются их наработки. Согласно GPL, в этом случае необходимо лицензировать "производную" работу под GPL. То есть открыть весь код.
Не так. Надо открывать если вы этот продукт продаете.
Re[4]: Как объявить optional параметр?
От: hardcase Пират http://nemerle.org
Дата: 05.06.11 10:40
Оценка:
Здравствуйте, BogdanMart, Вы писали:

BM>Ого, а в просмотре чего плохого может быть?


NIH.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[6]: Как объявить optional параметр?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 05.06.11 17:04
Оценка:
Здравствуйте, _nn_, Вы писали:

__>Так Nemerle же не под GPL.


Вот юристы и должны проверить лицензию.
Re[5]: Как объявить optional параметр?
От: Аноним  
Дата: 05.06.11 22:19
Оценка:
Здравствуйте, catbert, Вы писали:
C>Если код, допустим, GPL, могут наехать что типа используются их наработки.

Согласно законодательству в этой стране, если код отличается на 60% то программа/библиотека считается другой. Те достаточно по убирать шапки с лицензией и сделать рефакторинг. И используйте на здоровье, а если никому не говорить так вообще отлично. (народ так проги парит разным заказчикам, типа разные)
Re[7]: Как объявить optional параметр?
От: catbert  
Дата: 06.06.11 04:51
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Не так. Надо открывать если вы этот продукт продаете.


Если распостраняете, коли вам нужна такая точность.
Re[3]: Как объявить optional параметр?
От: _FRED_ Черногория
Дата: 14.06.11 05:12
Оценка:
Здравствуйте, nikov, Вы писали:

VD>>Присоединяйся к нам и помоги реализовать полноценные значения по умолчанию.


N>При моей нынешней работе это затруднительно.

N>Чтобы только посмотреть на код open source проекта, мне нужно одобрение юристов, не говоря уже о том, чтобы делать туда какой-то вклад.

Это касается и не рабочего времени?
Help will always be given at Hogwarts to those who ask for it.
Re[4]: Как объявить optional параметр?
От: nikov США http://www.linkedin.com/in/nikov
Дата: 14.06.11 15:56
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Это касается и не рабочего времени?


Да.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.