[코틀린기초] 13. 코틀린 표준함수 run()
인자가 없는 익명 함수처럼 동작하는 형태와 객체에서 호출하는 형태 두 가지로 사용한다.
public inline fun <R> run(block:()->R) : R = return block()
public inline fun <T,R> T.run(block: T.()->R) : R = return block()
사용 예
var skills = "Kotlin"
println(skills)
val a = 10
skills = run{
val level = "Kotlin Level:" + a
level // 마지막 표현식이 반환됨
}
println(skills) // Kotlin Level: 10
apply 와 유사하게 this로 받을 수 있지만, this를 리턴하는 apply와 다르게 블록 내부 마지막 식을 반환할 수 있다.
// 할당 없이 사용하는 예시
run{
if(firstTimeView) introView else normalView
}.show()