• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

for문의 range에 관한 질문

22.12.09 16:55 작성 조회수 202

1

안녕하세요. 코틀린을 독학하다가 좋은 강의가 있다는 것을 알게되어 수강중입니다.

for문의 range에 대해 설명해주실 때 ..과 downTo에 대해서만 말씀해주셨는데 끝 값을 포함하지 않는 until은 언급하지 않으시더라구요. 그래서 혹시 until은 생략하신 이유가 있으신가요?

답변 1

답변을 작성해보세요.

1

안녕하세요, 콜라곰님~~ 😊 아이고~ 강의를 수강해주셔서 감사드립니다! 🙏

결론부터 말씀드리면, until을 생략한 이유는 1) 강의 내용을 compact 하게 하고 싶었고 2) 1 until N1..N-1 과 사실상 동일하기 때문에 생략했습니다!

 

하지만, 콜라곰님께서 이렇게 질문 올려주신 덕분에 6강을 학습하시는 다른 분들이 until 도 알아가실 수 있을 것 같네요!! 👍

 

[until 추가 설명]

public infix fun Int.until(to: Int): IntRange {
    if (to <= Int.MIN_VALUE) return IntRange.EMPTY
    return this .. (to - 1).toInt()
}

until 의 경우 마지막 값을 포함하지 않는 IntRange가 만들어집니다! 만약 float나 double과 같은 실수를 사용하신다면, 끝값이 포함되지 않는 Range로 생각해주시면 됩니다~

 

또한 Kotlin 1.7.20 버전에서는 until을 의미하는 연산자인 ..< 연산자가 실험적으로 도입되었습니다!

 

 

좋은 질문 남겨주셔서 감사드립니다~~

오늘도 행복한 하루 되세요!! 🙇🙇

콜라곰님의 프로필

콜라곰

질문자

2022.12.10

아하! 감사합니다! 인텔리제이에서 1..n-1을 사용하면 until을 사용하라는 경고가 나와서 여쭤봤습니다!