Quick actions

cmd+k|ctrl+k

Navigation

Languages

Function Inside Function

Snippet info

Language

Kotlin

Visibility

public

Author

habib17

Created

2019-11-02T03:29:55Z

Updated

2019-11-02T03:38:12Z

fun main(args : Array<String>){
  //setWord("yii")
  setWordTwo("hallo")
}

fun setWord(message: String){
    fun printMessage(text: String){
        println(text)
    }
    printMessage(message)
}

fun setWordTwo(message: String){
    fun printMessage(){
        println(message)
    }
    printMessage()
}

fun sum(valueA: Int, valueB: Int, valueC: Int): Int{
    if(valueA == 0){
        throw IllegalArgumentException("valueA must be better than 0")
    }
    if(valueB == 0){
        throw IllegalArgumentException("valueB must be better than 0")
    }
    if(valueC == 0){
        throw IllegalArgumentException("valueC must be better than 0")
    }
    return valueA + valueB
}

fun sumTwo(valueA: Int, valueB: Int, valueC: Int): Int{
    fun validateNumber(value: Int){
        if(value == 0){
            throw IllegalArgumentException("value must be better than 0")
        }
    }
    
    validateNumber(valueA)
    validateNumber(valueB)
    validateNumber(valueC)
    
    return valueA + valueB
}

//extensions function
fun sumTwoEF(valueA: Int, valueB: Int, valueC: Int): Int{
    fun Int.validateNumber(){
        if(this == 0){
            throw IllegalArgumentException("value must be better than 0")
        }
    }
    
    valueA.validateNumber()
    valueB.validateNumber()
    valueC.validateNumber()
    
    return valueA + valueB
}
INFO