복붙노트

[SCALA] 스칼라 : 왜 단위로 지능을 변환 할 수 있습니까?

SCALA

스칼라 : 왜 단위로 지능을 변환 할 수 있습니까?

나는 최근에 내가 (스칼라 인터프리터) 다음과 같은 코드를 작성할 수 있습니다 스칼라 (2.8)와 재생을 시작하고 발견했습니다 :

scala> var x : Unit = 10
x : Unit = ()

그것은 거기에 무슨 일이 일어나고 있는지 명확하지입니다. 난 정말 단위에 대한 암시 적 변환을 볼 기대하지 않았다.

해결법

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

    1.스칼라 언어 사양 버전 2.8 절 "6.26.1 값 변환"을 참조하십시오 :

    스칼라 언어 사양 버전 2.8 절 "6.26.1 값 변환"을 참조하십시오 :

    ...

    값 사항 취소. 전자는 어떤 값 유형을 가지고 있으며, 예상되는 유형 단위 인 경우, 전자는 변환입니다 용어 {E에 매립하여 예상 유형; ()}.

    ...

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

    2.뭐든지 단위로 변환 할 수 있습니다. 이 그럼에도 불구하고 값을 반환 측면 초래 방법을 지원하기 위해 대부분 필요하지만 반환 값은 종종 어디 무시됩니다. 예를 들면

    뭐든지 단위로 변환 할 수 있습니다. 이 그럼에도 불구하고 값을 반환 측면 초래 방법을 지원하기 위해 대부분 필요하지만 반환 값은 종종 어디 무시됩니다. 예를 들면

    import java.util.{List =>JList}
    
    def remove2[A](foo: JList[A], a1:A, a2:A):Unit = {
        foo.remove(a1)
        foo.remove(a2)  //if you couldn't convert the (usually pointless) return value of remove to Unit, this wouldn't type
    }
    
  3. ==============================

    3.음, 아무것도는 (이 그 목적이다) 단위로 변환 할 수 있습니다. 당신은 모두의 슈퍼 의미 (서브) 타입의 격자에서의 단위로 단위 생각할 수 있습니다. 위키 백과 문서를 참조하십시오.

    음, 아무것도는 (이 그 목적이다) 단위로 변환 할 수 있습니다. 당신은 모두의 슈퍼 의미 (서브) 타입의 격자에서의 단위로 단위 생각할 수 있습니다. 위키 백과 문서를 참조하십시오.

  4. from https://stackoverflow.com/questions/3513364/scala-why-can-i-convert-int-to-unit by cc-by-sa and MIT license