코틀린(2)
-
Kotlin에서 JSONObject .get*의 확장 함수를 만들어봤다. (reflection, generics, reified)
반복 구문의 발생 Java, Kotlin에서 JSONObject을 사용하여 JSON으로 작성된 데이터 구조를 파싱할 때, getInt, getString 등을 사용하는 경우가 많았다. 이 메서드는 문자열 키를 받아서 매칭되는 값을 반환하는데, 매칭되는 값이 없을 경우 Exception을 던지게 되어있다. Exception이 발생한 경우에는 null을 반환하도록 코드를 작성하면, 아래와 같다. try { JSONObject.getInt("key") } catch (JSONException e) { e.printStackTrace() null } try { JSONObject.getString("key") } catch (JSONException e) { e.printStackTrace() null }위에서..
2020.09.07 -
코틀린으로 배우는 함수형 프로그래밍 연습문제 #3 [푸는 중]
[연습문제 3-2] X의 n승을 구하는 함수를 재귀로 표현해보자. 함수의 선언 타입은 다음과 같다. fun power(x: Double, n:Int): Double fun power(x: Double, n:Int): Double { return when(n) { 1 -> x else -> power(x*x, n-1) } }[연습문제 3-3] 입력n의 팩터리얼인 n!을 구하는 함수를 재귀로 구현해보자. tailrec fun factorial(x: Int, result: Int = x): Int { return when(x) { 1 -> result else -> factorial(x-1, result*(x-1)) } }[연습문제 3-4] 10진수 숫자를 입력받아서 2진수 문자열로 변환하는 함수를 작성하라...
2020.01.19