[SCALA] => 수행하고 무엇 () => 스칼라의 평균 [중복]
SCALA=> 수행하고 무엇 () => 스칼라의 평균 [중복]
나는 스칼라 정말 좋아 나는 새로운 오전, 그러나 때때로 그것은 나를 놀라게한다. 예를 들어 :
clickedCallbacks: List[() => Unit])
사람이 스칼라에서 무엇을 의미하는지 =>와 () => 말해 주시겠습니까?
해결법
-
==============================
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.=> 스칼라의 여러 가지 의미를 가지고, 모든 의미로서 수학적 의미 관련.
=> 스칼라의 여러 가지 의미를 가지고, 모든 의미로서 수학적 의미 관련.
-
==============================
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.가장 간단한 대답은, 당신은 단어 "RIGHT"와 함께 오른쪽에 무엇이든 단어 "LEFT"와 가진 =>의 왼쪽에 무엇이든 대체 할 수 있습니다.
가장 간단한 대답은, 당신은 단어 "RIGHT"와 함께 오른쪽에 무엇이든 단어 "LEFT"와 가진 =>의 왼쪽에 무엇이든 대체 할 수 있습니다.
그런 다음, "LEFT => RIGHT"의 의미가된다 :
LEFT 다음 오른쪽을보십시오.
이 방법 당신이있는 경우에 "() =>"당신이 (매개 변수없는이) 아무것도 수행하지 않고 다음 오른쪽에 무엇이든 할 수있다.
가장 일반적인 의미입니다.
-
==============================
5.=>는 "기능 화살표"이다. 이 기능 유형 서명뿐만 아니라 익명의 기능면에서 모두 사용됩니다. () => 단위 (다른 언어 보이드 등)에 유용 인수 및 반환 전혀 취하지 함수 타입 Function0 [단위, 단축형이다.
=>는 "기능 화살표"이다. 이 기능 유형 서명뿐만 아니라 익명의 기능면에서 모두 사용됩니다. () => 단위 (다른 언어 보이드 등)에 유용 인수 및 반환 전혀 취하지 함수 타입 Function0 [단위, 단축형이다.
from https://stackoverflow.com/questions/6951895/what-does-and-mean-in-scala by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 어떻게 경우 클래스의 인스턴스를 복제하고 스칼라에 하나의 필드를 변경하려면? (0) | 2019.11.10 |
---|---|
[SCALA] 어떻게 스칼라 2.9 일에서 "scala.sys.process"는 무엇입니까? (0) | 2019.11.10 |
[SCALA] 간단한 경우 클래스에 대한 주문을 정의하기 쉬운 관용적 방법 (0) | 2019.11.10 |
[SCALA] 방법에 대한-함축 스칼라와 루프 최적화? (0) | 2019.11.10 |
[SCALA] 무엇 스칼라 연속 요청은 왜 그들을 사용? (0) | 2019.11.10 |