Programming/Scala

Scala - 함수를 사용할 때 (...) 과 {...} 의 차이

starblood 2013. 3. 13. 19:11






Scala 로 프로그래밍 하던 중에 궁금한 것이 생겼다.


함수를 사용할 때 (...) 과 {...} 둘 다 사용가능 한 것이었다.

하지만 어떤 경우는 컴파일이 되지 않았다.


왜 그런 것일까? 이 둘의 차이는 뭘까? 라는 의문이 생겼다.


예를 들어 아래와 같은 코드는 같은 일을 한다. 그리고 컴파일 에러도 생기지 않는다.


하지만 아래와 같은 코드는 컴파일 에러를 발생 시킨다.



그래서 아래와 같이 {...} 를 사용하면 문제가 생기지 않고 잘 작동함을 알 수 있다.


아하!!! 바로 차이는 (...) 과 {...} 의 차이는  expression 이 한개인가 아니면 여러개 (block of codes) 인가의 차이이다.

함수에 표현식을 여러개 넣고 싶다면 {...} 를 사용하고 한 개만 넣고 싶다면, (...) 를 사용하면 되는 것이다. :)