Network disconnected
Description
스칼라에서 익명 함수(Anonymous Function)는 다음과 같은 형태로 정의합니다.
// 이 함수의 타입은 하나의 Int형 매개변수를 받아 Int형으로 그 제곱을 리턴하는 Int => Int입니다.
(x: Int) => x * x
// 이 함수의 타입은 두 개의 Int형 매개변수를 받아 그 합을 Int를 리턴하는 (Int, Int) => Int입니다.
(x: Int, y: Int) => x + y
익명 함수는 타입을 가지는데요. 예를 들어 다음 코드의 doWithOneAndTwo
를 보면 (Int, Int) => (Int)
와 같은 타입의 익명 함수만 받아들입니다.
따라서 코드 13번째 줄과 같이 (x, y) => x + y
와 같은 익명 함수를 매개변수로 사용할 수 있습니다.
여기서 x와 y의 타입을 지정하지 않고 생략했는데요. 컴파일러가 코드 4번째 줄을 보고 타입을 알 수 있기 때문입니다.
추가로 더 짧게 변수명을 생략할 수도 있습니다. x와 y가 익명 함수의 Body에서 딱 한 번만 사용된다면 _
로 대체할 수 있는데요. 익명 함수의 Body에 나타나는 _
의 순서는 매개변수에 정의된 순서대로 입니다.
예를 들어 _ / _
는 x/y
와 같습니다.
하지만 만약 y/x
처럼 순서를 바꿔서 표현하고 싶으면 까다로워지는데요. (1/_)*_
라고 표현해야겠지요. (1/x)*y
는 y/x
이니까요.
Result
Stop
Result of [Run Test] or [Submit] will be displayed here
내가 제출한 코드가 왜 틀렸는지 프로그래머스 AI에게 물어보세요.
제출 후 채점하기를 눌러 30점 이상인 경우 물어볼 수 있어요.
베타 기간 동안에는 한 문제당 1번만 물어볼 수 있어요.
베타 기간 동안에는 한 문제당 1번만 물어볼 수 있어요.