5장

람다식의 문법

람다는 값처럼 여기 저기 전달할 수 있는 동작의 모음이다.

{x:Int, y:Int -> x+y}
//파라미터 -> 본문 
fun main() {
  val items = listOf(Item("item1", 10000), Item("item2", 20000))
  println(items.maxByOrNull { it.price }) // 스트림 원소를 it으로 바로 참조 가능하다.
  println(items.maxByOrNull(Item::price)) // 메서드 참조도 가능

  // 람다를 변수에 직접 할당할 수 있다.
  val sum = { x: Int, y: Int -> x + y }

  // { println("Hello World") }()
  //  람다를 위와 같이 호출할 수도 있지만 더 간단하게 run 함수를 활용하면 람다 본문을 호출할 수 있다.
  run { println("Hello World") }
}

변수에 접근