Re[33]: Вопрос к Vlad2: Nemerle & R#
От: VladD2 Российская Империя www.nemerle.org
Дата: 27.03.06 22:06
Оценка: 12 (1)
Здравствуйте, Oyster, Вы писали:

O>Попробуй скомпилить — скажет, что не все ветки возвращают значения. Для того, чтобы это понять, Nemerle знать не надо — достаточно знать тот же C++


Вообще-то match в Немерле просто неявно дописывает возбуждение исключения для не перекрытого диапазона значений и выдается предупрждение компилятора. Но вот if без else недопустим.
Наверно самая разумная запись будет:
def Fact(x : int) : int
{ | 0
  | 1 => 1
  | x when x > 0 => x * Fact(x - 1)
  | _ => throw ArgumentException("x")
}
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.