WhiteLabeled.kt를 다음과 같이 다시 쓸 수도 있다.

    BreakAndContinue/Improved.kt

    import atomictest.eq
    fun main() {
      val strings = mutableListOf<String>()
      for (c in 'a'..'c') {
        for (i in 1..4) {
          val value = "$c$i"
          if (value < "c3") { // [1]
            strings.add(value)
          }
        }
      }
      strings eq listOf("a1", "a2", "a3", "a4",
        "b1", "b2", "b3", "b4", "c1", "c2")
    }

    이 코드가 훨씬 더 이해하기 좋다.

    [1] (알파벳순으로) "C3"보다 앞에 있는 String만 추가한다. 이 코드는 이전 예제에서 "C3"에 도달했을 때 break를 사용했던 것과 같은 결과를 낳는다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.