복붙노트

[SCALA] => 수행하고 무엇 () => 스칼라의 평균 [중복]

SCALA

=> 수행하고 무엇 () => 스칼라의 평균 [중복]

나는 스칼라 정말 좋아 나는 새로운 오전, 그러나 때때로 그것은 나를 놀라게한다. 예를 들어 :

clickedCallbacks: List[() => Unit])

사람이 스칼라에서 무엇을 의미하는지 =>와 () => 말해 주시겠습니까?

해결법

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

    1.=> 함수의 인스턴스를 생성 문법적이다. 스칼라의 모든 기능은 클래스의 인스턴스임을 기억하자.

    => 함수의 인스턴스를 생성 문법적이다. 스칼라의 모든 기능은 클래스의 인스턴스임을 기억하자.

    예를 들면, 지능 타입 => 문자열 입력 지능 복귀 문자열의 인수를 취하는 타입 기능 1 [INT, 문자열] 즉 함수에 상당한다.

      scala> val f: Function1[Int,String] = myInt => "my int: "+myInt.toString
      f: (Int) => String = <function1>
    
      scala> f(0)
      res0: String = my int: 0
    
      scala> val f2: Int => String = myInt => "my int v2: "+myInt.toString
      f2: (Int) => String = <function1>
    
      scala> f2(1)
      res1: String = my int v2: 1
    

    여기서 민트는 F 및 F2에 전달 된 인자 값에 바인딩된다.

    () => T는 인수가없는하고 Function0 [T]에 해당하는 T.를 반환하는 함수의 형태이다. (가) 내가 믿는 제로 매개 변수 목록이라고합니다.

     scala> val f: () => Unit = () => { println("x")}
     f: () => Unit = <function0>
    
     scala> f()
     x
    
    scala> val f2: Function0[Unit] = () => println("x2")
    f: () => Unit = <function0>
    
    scala> f2()
    x2
    
  2. ==============================

    2.=> 스칼라의 여러 가지 의미를 가지고, 모든 의미로서 수학적 의미 관련.

    => 스칼라의 여러 가지 의미를 가지고, 모든 의미로서 수학적 의미 관련.

  3. ==============================

    3.() => 단위 수단 "매개 변수 및 반환 아무것도지지 않습니다 유형 기능"

    () => 단위 수단 "매개 변수 및 반환 아무것도지지 않습니다 유형 기능"

    그래서 당신은 그 형태가 될 것 매개 변수와 반환 값 없음을지지 않습니다 함수로 값 (F)을 선언하는 경우 :

    val f : () => Unit
    

    이것은 발이기 때문에 당신은 예를 들어, 홀라의 문도를 인쇄하는 기능을 값을 할당해야

    val f : () => Unit  = () => println("Hola Mundo")
    

    즉 읽 * "f는 코드에 println로 초기화 매개 변수 및 반환 아무것도 필요없는 기능입니다 ("안녕 문도 ")

    다음이 해당 될 수 있도록 유형을 선언 할 필요가 없습니다 추론 스칼라 때문에 당신이 형식을 사용할 수 있습니다 :

    val f = () => println("Hola Mundo")
    

    를 호출하는 당신은 할 수 있습니다 :

    f()
    
    >"Hola mundo"
    

    기능이기 때문에 또는, 또한 당신이이 방법을 적용 호출 할 수있는 개체 :

    f.apply()
    > "Hola Mundo"
    

    의는 왜 선언에 당신은 따라서 목록 "나는 더 PARAMS없이 반환 형식과 기능을 보유 할 목록을 가지고 있습니다"라고하고 있다는 [() => 단위]

    이게 도움이 되길 바란다.

  4. ==============================

    4.가장 간단한 대답은, 당신은 단어 "RIGHT"와 함께 오른쪽에 무엇이든 단어 "LEFT"와 가진 =>의 왼쪽에 무엇이든 대체 할 수 있습니다.

    가장 간단한 대답은, 당신은 단어 "RIGHT"와 함께 오른쪽에 무엇이든 단어 "LEFT"와 가진 =>의 왼쪽에 무엇이든 대체 할 수 있습니다.

    그런 다음, "LEFT => RIGHT"의 의미가된다 :

    LEFT 다음 오른쪽을보십시오.

    이 방법 당신이있는 경우에 "() =>"당신이 (매개 변수없는이) 아무것도 수행하지 않고 다음 오른쪽에 무엇이든 할 수있다.

    가장 일반적인 의미입니다.

  5. ==============================

    5.=>는 "기능 화살표"이다. 이 기능 유형 서명뿐만 아니라 익명의 기능면에서 모두 사용됩니다. () => 단위 (다른 언어 보이드 등)에 유용 인수 및 반환 전혀 취하지 함수 타입 Function0 [단위, 단축형이다.

    =>는 "기능 화살표"이다. 이 기능 유형 서명뿐만 아니라 익명의 기능면에서 모두 사용됩니다. () => 단위 (다른 언어 보이드 등)에 유용 인수 및 반환 전혀 취하지 함수 타입 Function0 [단위, 단축형이다.

  6. from https://stackoverflow.com/questions/6951895/what-does-and-mean-in-scala by cc-by-sa and MIT license