2014-10-25 8 views
0

기능이 구현되지 않았 음을 나타내는 실론의 관용구는 무엇입니까? 나는 종종 모든 기능을 구현하는 문제를 겪기 전에 디자인이 typecheck인지를보고 싶다. 아마도 이것은 몸체에 오류가 발생하는 것을 의미합니다. 유형은 Nothing이며 모든 기능에 할당 할 수 있습니다. 이는 구현이 중요하지 않을 때 예제 코드를 공유하는 데 유용합니다.실론 구현되지 않음 오류

Integer add(Integer a, Integer b) {throw UnsupportedOperationException();} 

을하지만 그건 클래스 메소드의 무리에 압정으로 너무 장황 : 어떤 사람들은 이런 식으로 자바에서 예외 : UnsupportedOperationException를 사용하여 같은

는 것 같습니다. 나는 비슷한 찾고 있어요 스칼라의 귀엽게 같이 ??? 이름 : 사실

def add(a: Int, b: Int): Int = ??? 

답변

3

nothing는 내장 최상위 당신이 호출 할 수 있습니다 수완 :

Integer add(Integer a, Integer b) => nothing; 

그것은 객체처럼 보일 수 있습니다 실제로는 런타임에 실제로 예외가 발생합니다.

+1

그래, 평가가 끝나면 예외가 발생하고 나중에 구현하기위한 알림 역할을하는 경고가 IDE에 표시되므로 이점이 좋습니다. – gdejohn

+0

그냥 '아무것도'가 원시적 인 것이 아니라는 것을 추가하고 싶습니다. 정상적인 값입니다. [일반 실론에서 구현되었습니다] (https://github.com/ceylon/ceylon.language/blob/1.1.0/src /ceylon/language/nothing.ceylon), 직접 작성할 수도 있습니다. (* type *'Nothing'은 "원시적"인데, 실론에서 표현할 수없는 유일한 언어입니다.) –

+0

@ lucas.werkmeister 고맙습니다. 그 대답을 수정했습니다. – drhagen