복붙노트

[SCALA] 스칼라 '데프 foo는 = {1}'대 '데프 foo는 {1}'

SCALA

스칼라 '데프 foo는 = {1}'대 '데프 foo는 {1}'

무엇 foo는 정의의 이러한 양식의 각에서 진행되고?

scala> def foo = {1}
foo: Int

scala> foo
res2: Int = 1

그러나:

scala> def foo {1}
foo: Unit

scala> foo

scala>

해결법

  1. ==============================

    1.또한 SO에이 질문과 답변을 참조하십시오 :

    또한 SO에이 질문과 답변을 참조하십시오 :

    기본적으로 어떤 수단을 =로 함수를 선언하지 그 함수가 반환 장치와 끝에 당신을위한 컴파일러를 삽입합니다 (). (물론 컴파일러 표현식의 타입의 리턴 형을 추론 할 수있다) 이외의 단위 값을 반환해야 함수 = 표기법 선언되어야한다.

  2. ==============================

    2.http://anyall.org/scalacheat/이 발견 :

    http://anyall.org/scalacheat/이 발견 :

    //[bad!] 
    def f(x: Int) { x*x } //hidden error: without = it's a Unit-returning proc; causes havoc 
    
  3. from https://stackoverflow.com/questions/1661817/scala-def-foo-1-vs-def-foo-1 by cc-by-sa and MIT license