Closed duckcalf closed 5 years ago
Unit
void
return
val fixedValueFunction = go(thisYear, _: String)
_
object Ex_5_6 { def main(args: Array[String]): Unit = { val g = f _ println(f(1)) } def f(i: Int) = i }
var g:(Int => Int) = f // 언더스코어를 사용하지 않음
val g = f // 언더스코어 사용하지 않으려면 def f = (i: Int) => i // f를 함수 표현식으로
=
f
def calc(f: Int => Int, start: Int, end: Int) = {} calc(x => x * x, 2, 5) calc(x => x + x, 1, 3)
def printlnStrings(args: String*) = { } printlnStrings("a") printlnStrings("a", "b") printlnStrings("a", "b", "c")
def default(a: Int = 4, b: Int = 5): Int = a + b
something(2) something.apply(2) something.method(2)
implicit def doubleToInd(d: Double) = d.toInt val x: Int = 18.0 // <--- 컴파일 오류가 발생하지 않음
Scala의 그 놈
5.1 왜 함수형 언어인가?
5.2 스칼라의 함수
5.3 함수 정의
Unit
은 자바의void
와 같음. (#1)return
구문 생략 가능. 마지막 실행 값이 반환됨5.4 CALL-BY-NAME
5.5 함수의 일부 인수 고정하기(부분 적용 함수)
_
를 사용하여 변하는 것 표시5.6 =>를 이용한 함수 표현식
코드 5-6 val 변수에 함수 넣기
코드 5-6의 다른 표현 방법
=
연산자를 이용해 매개변수가 필요한 함수를 대입f
는 스칼라에서 말하는 함수 객체는 아님5.7 함수 표현식의 예
5.8 매개변수가 여러 개인 함수
5.9 매개변수의 기본값 설정
5.10 apply()
5.11 implicit 함수