19. DSL
VintageAppMaker edited this page Dec 22, 2018
·
1 revision
- 특정 애플리케이션이나 Software에서 사용할 목적으로 만든 간이언어.
- kotlin에서는 확장함수를 사용하여 구현가능함.
-
소스코드
fun main (args : Array <String>){ // 일반적인 방법 val p0 = Player() p0.name = "Player 0" p0.status = Status() p0!!.status!!.job = "Wizard" p0!!.status!!.level = 20 println (p0) // 제일 간단함 val p1 = Player("Player 1", Status("Archer", 23)) println(p1) // DSL이 편리할 수도 있다. val p2 = MakePlayer { name = "Player 2 - " + Random().nextInt(200).toString() status { job = "Paladin" level = Random().nextInt(70) } } println (p2) } fun MakePlayer(block: Player.() -> Unit): Player = Player().apply(block) fun Player.status(block : Status.()-> Unit){ status = Status().apply(block) } // data class data class Player(var name: String? = null, var status: Status? = null) data class Status(var job: String? = null, var level: Int? = null)
-
디버깅 & 설명
-
왜 사용하는가?
-
Android Studio에 적용하기