Scala에서 =>와->의 차이점

라자 셰 카르

인터넷에서 Scala 자습서를 살펴보고 저자가 HOF (Higher Order Function)에서 =>와->를 모두 사용하는 몇 가지 예를 확인했습니다.

예:

val vec = Vector("hello", "world").map(s => s -> s.length)
// vec: scala.collection.immutable.Vector[(String, Int)] = 
// Vector((hello,5), (world,5))

Scala에서 =>-> 의 차이점은 무엇입니까 ?

sun007

-> 튜플, 맵 등과 같은 암시 적 변환을 사용하여 키를 값과 연결하는 데 사용되었습니다.

scala> 1 -> 2
res0: (Int, Int) = (1,2)

scala> val map = Map("x" -> 12, "y" -> 212)

기본적으로 왼쪽에있는 항목을 가져 와서 오른쪽에있는 항목에 매핑합니다.

암시 적 변환을 사용하여 모든 유형을 "ArrowAssoc"의 인스턴스로 변환합니다.

implicit def any2ArrowAssoc[A](x: A): ArrowAssoc[A] = new ArrowAssoc(x)


class ArrowAssoc[A](x: A) {
    def -> [B](y: B): Tuple2[A, B] = Tuple2(x, y)
}

=> 는 call-by-name을 사용하여 함수의 인스턴스를 생성하기 위해 언어 자체에서 제공하는 구문입니다. 예를 들어 메소드 내부에 값 이름을 전달합니다.

`def f(x:Int => String) {}` function take argument of type Int and return String

아래와 같은 인수를 전달할 수도 있습니다.

() => T means it doesn't take any argument but return type T.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Scala에서 LazyList와 Stream의 차이점은 무엇입니까?

분류에서Dev

Scala에서 LazyList와 List의 차이점은 무엇입니까?

분류에서Dev

Scala에서 Class와 Class.type의 차이점

분류에서Dev

Kotlin에서 setOf와 hashSetOf의 차이점

분류에서Dev

MaterialApp에서 initialRoute와 home의 차이점

분류에서Dev

CSS에서 :: after와 :: before의 차이점

분류에서Dev

webpack에서 publicPath와 contentBase의 차이점

분류에서Dev

C에서 gcvt ()와 _gcvt ()의 차이점

분류에서Dev

Bash에서 *와? * glob의 차이점

분류에서Dev

JDBC에서 CreateStatement와 PreparedStatement의 차이점

분류에서Dev

Clojure에서 (3)와 3의 차이점

분류에서Dev

SSH에서 :와 ::의 차이점

분류에서Dev

Haskell에서 print와 putStrLn의 차이점

분류에서Dev

정규식에서. *와 *의 차이점

분류에서Dev

SBT에서 scalaSource와 sourceDirectories의 차이점

분류에서Dev

Mahout에서 StandardNaiveBayesClassifier와 ComplementaryNaiveBayesClassifier의 차이점

분류에서Dev

fopen ()에서 r +와 w +의 차이점

분류에서Dev

VisualStateManager에서 MouseOver와 PointerOver의 차이점

분류에서Dev

CSS에서 :와 ::의 차이점

분류에서Dev

JavaScript에서 layerX와 offsetX의 차이점

분류에서Dev

R에서 &와 &&의 차이점

분류에서Dev

PARSE에서 BREAK와 REJECT의 차이점

분류에서Dev

R에서 character ()와 ""의 차이점

분류에서Dev

Twig에서 {% include ''%}와 {{include ( '')}}의 차이점

분류에서Dev

CSS에서 "* ="와 "="의 차이점

분류에서Dev

Clojure에서 "->"와 "->>"의 차이점

분류에서Dev

몽구스에서 [{}]와 {}의 차이점

분류에서Dev

CSS에서 Mozilla와 Chrome의 차이점

분류에서Dev

Netbeans에서 actionPerformed와 keyPressed의 차이점

Related 관련 기사

뜨겁다태그

보관