복붙노트

[SCALA] 스칼라 함수 리터럴은 무엇인가?

SCALA

스칼라 함수 리터럴은 무엇인가?

어떤 스칼라 함수 리터럴은 내가 그들에게 때를 사용해야합니까?

해결법

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

    1.함수 리터럴 함수를 정의하기위한 대체 문법이다. 당신이하는 방법 (접이식 또는 필터 작업 등 특히 고차 하나)에 인수로 함수를 전달하려는하지만 별도의 함수를 정의하지 않을 때 유용합니다. 함수 리터럴은 익명입니다 - 그들은 기본적으로 이름이없는,하지만 당신은 변수로 바인딩하여 그들에게 이름을 지정할 수 있습니다. 함수 리터럴과 같이 정의된다 :

    함수 리터럴 함수를 정의하기위한 대체 문법이다. 당신이하는 방법 (접이식 또는 필터 작업 등 특히 고차 하나)에 인수로 함수를 전달하려는하지만 별도의 함수를 정의하지 않을 때 유용합니다. 함수 리터럴은 익명입니다 - 그들은 기본적으로 이름이없는,하지만 당신은 변수로 바인딩하여 그들에게 이름을 지정할 수 있습니다. 함수 리터럴과 같이 정의된다 :

    (a:Int, b:Int) => a + b
    

    당신은 변수에 바인딩 할 수 있습니다 :

    val add = (a:Int, b:Int) => a + b
    add(1, 2) // Result is 3
    

    내가 전에 말했듯이, 함수 리터럴은 higher-order 함수에 인수로 전달하는 데 유용합니다. 그들은 또한 다른 함수 내에 중첩 한 라이너 또는 보조 함수를 정의하는 유용하다.

    스칼라의 투어는 함수 리터럴 꽤 좋은 참조를 (그들에게 익명의 함수를 호출) 제공합니다.

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

    2.스칼라에서 리터럴 다른 종류의 함수 리터럴을 비교하는 것이 유용 할 수 있습니다. 리터럴은 언어가 특히 중요 고려 일부 유형의 값을 나타내는 표기 설탕입니다. 일류 값 함수 리터럴하여 소스 코드에서 표현할 수는 정수로 스칼라 리터럴 문자 리터럴 스트링 리터럴 등 스칼라 취급 기능을 갖는다. 이 함수 값은 특수 기능 유형을 살고. 예를 들어,

    스칼라에서 리터럴 다른 종류의 함수 리터럴을 비교하는 것이 유용 할 수 있습니다. 리터럴은 언어가 특히 중요 고려 일부 유형의 값을 나타내는 표기 설탕입니다. 일류 값 함수 리터럴하여 소스 코드에서 표현할 수는 정수로 스칼라 리터럴 문자 리터럴 스트링 리터럴 등 스칼라 취급 기능을 갖는다. 이 함수 값은 특수 기능 유형을 살고. 예를 들어,

    리터럴은 종종 먼저라는 이름의 변수를 경계하지 않고, 익명 인 값으로 사용된다. 이 프로그램을보다 간결하게하는 데 도움이 리터럴가 재사용 될 운명이되지 않을 때 적합합니다. 예를 들면 :

    List(1,2,3).filter((x: Int) => x > 2)
    

    val one: Int = 1
    val two: Int = 2
    val three: Int = 3
    val greaterThan2: (Int => Int) = (x: Int) => x > two
    List(one,two,three).filter(greaterThan2)
    
  3. from https://stackoverflow.com/questions/5241147/what-is-a-function-literal-in-scala by cc-by-sa and MIT license