Что такое идиома Цейлона, указывающая, что функция не реализована? Я часто хочу увидеть, будет ли дизайн проверяться на тип, прежде чем решить проблему с выполнением всех функций. Предположительно, это означает, что тело выдает ошибку, которая имеет тип Nothing
и может быть назначена любой функции. Это также полезно для обмена примером кода, когда реализация не имеет значения.Ошибка Цейлона
Похоже, некоторые люди используют UnsupportedOperationException от Java, как это:
Integer add(Integer a, Integer b) {throw UnsupportedOperationException();}
Но это слишком многословным, чтобы лавировать на кучу методов класса. Я ищу что-то подобное в Scala симпатично названный ???
как в:
def add(a: Int, b: Int): Int = ???
Да, это хорошо, потому что оно будет генерировать исключение, когда оно будет оценено, и IDE удалит предупреждение об этом, которое служит напоминанием о его реализации позже. – gdejohn
Я просто хочу добавить, что 'ничего 'не является примитивным вообще: это нормальное значение, [внедрено в регулярном Цейлоне] (https://github.com/ceylon/ceylon.language/blob/1.1.0/src /ceylon/language/nothing.ceylon), и вы также можете написать свой собственный. (Тип * * «Ничего» не является «примитивным», хотя - единственным типом языка, который не может быть выражен на Цейлоне.) –
@ lucas.werkmeister спасибо, я отредактировал свой ответ, чтобы уточнить это. – drhagen