Как записать эквивалент
public static implicit/explicit operator NewType(OldType m){....}
на Nemerle ?
Заранее благодарен.
30.01.07 18:07: Перенесено модератором из 'Декларативное программирование' — IT
Здравствуйте, chudo19, Вы писали:
C>Как записать эквивалент
C>public static implicit/explicit operator NewType(OldType m){....}
C>на Nemerle ?
C>Заранее благодарен.
// implicit
public static @:(x : OldType) : NewType
// explicit
public static @:>(x : OldType) : NewType
Правда в текущей ревизии компилятора нельзя определить несколько таких операторов, сигнатура которых различается лишь возвращаемым типом. Я как-то отправлял баг-репорт и патч, но разработчики почему-то решили, что у меня есть доступ к svn(или желание его получить) и я залью его самостоятельно. В итоге эта проблема до сих пор не исправлена.
Здравствуйте, chudo19, Вы писали:
C>Как записать эквивалент
C>public static implicit/explicit operator NewType(OldType m){....}
C>на Nemerle ?
C>Заранее благодарен.
public static @:> (m: OldType): NewType {...}
Это explicit, логично предположить что implicit было бы @:, но не работает. Вообще имхо implicit преобразование резко понижает очевидность кода, я его и не использую никогда.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Vermicious Knid, Вы писали:
VK>Здравствуйте, chudo19, Вы писали:
C>>Как записать эквивалент
C>>public static implicit/explicit operator NewType(OldType m){....}
C>>на Nemerle ?
C>>Заранее благодарен.
VK>VK> // implicit
VK> public static @:(x : OldType) : NewType
VK> // explicit
VK> public static @:>(x : OldType) : NewType
VK>
VK>Правда в текущей ревизии компилятора нельзя определить несколько таких операторов, сигнатура которых различается лишь возвращаемым типом. Я как-то отправлял баг-репорт и патч, но разработчики почему-то решили, что у меня есть доступ к svn(или желание его получить) и я залью его самостоятельно. В итоге эта проблема до сих пор не исправлена.
отлично... в смысле очень плохо, но теперь я кажется понял откуда у меня проблема с конверсией некоторых вещей для сторонней библиотеки
эту проблему надо решать однако
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Vermicious Knid, Вы писали:
VK>Правда в текущей ревизии компилятора нельзя определить несколько таких операторов, сигнатура которых различается лишь возвращаемым типом.
Уже можно. Твой патч внесли. Он правда был с багом, но его тоже уже пофиксили.
... << RSDN@Home 1.2.0 alpha rev. 637>>