곱셈이나 나눗셈으로 for 루프를 어떻게 반복합니까? [코 틀린]

하리시 방가 볼루

Kotlin에서 곱셈, 나누기 또는 커스텀 반복 함수를 갖는 반복 단계를 어떻게 작성하나요? 대신 while 루프를 사용할 수 있다는 것을 알고 있지만 for 루프는 다른 언어보다 범위가 더 제한적으로 보입니다. 이것은 의도 된 것입니까?

대부분의 다른 언어로 제공되는 항목 :

for(let i = 1; i <= 10; i *= 2) // [JavaScript]
for i := 1; i <= 10; i*=2 // [Golang]

내가 Kotlin에서하고 싶은 것 (또는 그와 가까운 것) :

for(i in 1..10 step 2 * i) // [Kotlin]

for 루프 본문 자체에서 반복자를 참조 할 수 있다면 쉬울 것입니다. 그러나 위의 i경우 반복 단계에서 참조 할 수 없기 때문에 '미해결 참조'오류가 발생 합니다.

니콜라이 셰브첸코

예, Kotlin 디자이너가 C 스타일 for루프 를 지원하지 않기로 결정한 것은 유감 이지만 확장 기능으로 몇 가지 트릭을 수행 할 수 있습니다.

중위 함수 선언

// for increasing rangeTo (..)
infix fun IntRange.step(next: (Int) -> Int) =
        generateSequence(first, next).takeWhile { if (first < last) it <= last else it >= last }

// for decreasing downTo
infix fun IntProgression.step(next: (Int) -> Int) = (first..last).step(next)

다음과 같이 사용하십시오.

for (i in 1..10 step { it * 2 }) {
    println(i)
}

산출

1
2
4
8

for (i in 16 downTo 1 step { it / 2 }) {
    println(i)
}

산출

16
8
4
2
1

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

안드로이드, 루핑은 어떻게 작동합니까? (코 틀린)

분류에서Dev

루비는 제로 나눗셈을 어떻게 처리합니까?

분류에서Dev

pytexit을 사용하여 곱셈 및 나눗셈 기호를 어떻게 표시합니까?

분류에서Dev

어떻게 코 틀린 하나에 기능적인 인터페이스를 기반으로 자바 람다를 변환하는?

분류에서Dev

어떻게 다이어그램 및 UML 코 틀린 코드의를 생성합니까?

분류에서Dev

코 루틴에서 새로운 활동을 시작하려면 어떻게해야합니까? 코 틀린 안드로이드

분류에서Dev

코 루틴 코 틀린에서 어떻게 가치를 얻습니까?

분류에서Dev

어떻게 코 틀린 방법으로 자바에서 람다를 전달합니까?

분류에서Dev

나는 PHP에서 행렬 곱셈 코드를 만들려고하지만 행렬 곱셈 대신 행과 열로 간단한 곱셈이 발생합니다.

분류에서Dev

어떻게 코 틀린의 코 루틴은 네트워크 호출을 할 때 얻을 때 알고 있나요?

분류에서Dev

어떻게 안드로이드에서 자바의 집행자에서 코 틀린의 코 루틴 다른입니까?

분류에서Dev

어떻게 조각 코 틀린 안드로이드에서 동적으로 라디오 버튼의 높이를 설정합니다

분류에서Dev

올바른 답변이 될 때까지 특정 질문을 반복하는 루프를 어떻게 프로그래밍할까요? 그들이 틀렸다는 것을 보여주는 메시지를 어떻게 코딩 할 수 있습니까?

분류에서Dev

어떻게 코 틀린 자바의 비트 연산자를 사용합니까?

분류에서Dev

어떻게 자바 호출자의 '무효'반환 형식으로 코 틀린 람다를 선언?

분류에서Dev

어떻게 고정 된 크기 IntArray와 코 틀린 나중에 배열을 초기화를 만드는 방법?

분류에서Dev

어떻게 couroutine이 (AdsWizz) 코 틀린 콜백 함수를 래핑 할 수 있습니까?

분류에서Dev

어떻게 자바에서 코 틀린 클래스로 작성된 함수를 호출 할 수 있습니까?

분류에서Dev

하드웨어 제곱근으로 나눗셈 연산을 수행 할 수 있습니까?

분류에서Dev

이 어셈블리 코드를 어떻게 실행합니까?

분류에서Dev

어떻게 안드로이드 프로젝트에서 코 틀린 지원을 제거하려면?

분류에서Dev

안드로이드 코 틀린 : 어떻게 비동기 호출 후에 recyclerView를 업데이트? 점점 CalledFromWrongThreadException

분류에서Dev

모듈로 대신 부동 소수점 수를 얻기 위해 간단한 나눗셈이 어떻게 작동합니까?

분류에서Dev

어떻게 자바에 대한 코 틀린 정적 변수와 함수를 어떻게해야합니까?

분류에서Dev

코 틀린 || 어떻게 안드로이드에서 switch 문처럼 온 클릭 (에서보기 ID)를 구별?

분류에서Dev

어떻게 코 틀린 안드로이드에 특수 문자를 처리하는

분류에서Dev

어떻게 코 틀린에 두 개의 서로 다른 길이의 목록을 결합하려면?

분류에서Dev

나눗셈 결과에 따라 벡터를 다른 값으로 나눕니다.

분류에서Dev

코로나 / 루아 / 실망스러운 타이머 곱셈

Related 관련 기사

  1. 1

    안드로이드, 루핑은 어떻게 작동합니까? (코 틀린)

  2. 2

    루비는 제로 나눗셈을 어떻게 처리합니까?

  3. 3

    pytexit을 사용하여 곱셈 및 나눗셈 기호를 어떻게 표시합니까?

  4. 4

    어떻게 코 틀린 하나에 기능적인 인터페이스를 기반으로 자바 람다를 변환하는?

  5. 5

    어떻게 다이어그램 및 UML 코 틀린 코드의를 생성합니까?

  6. 6

    코 루틴에서 새로운 활동을 시작하려면 어떻게해야합니까? 코 틀린 안드로이드

  7. 7

    코 루틴 코 틀린에서 어떻게 가치를 얻습니까?

  8. 8

    어떻게 코 틀린 방법으로 자바에서 람다를 전달합니까?

  9. 9

    나는 PHP에서 행렬 곱셈 코드를 만들려고하지만 행렬 곱셈 대신 행과 열로 간단한 곱셈이 발생합니다.

  10. 10

    어떻게 코 틀린의 코 루틴은 네트워크 호출을 할 때 얻을 때 알고 있나요?

  11. 11

    어떻게 안드로이드에서 자바의 집행자에서 코 틀린의 코 루틴 다른입니까?

  12. 12

    어떻게 조각 코 틀린 안드로이드에서 동적으로 라디오 버튼의 높이를 설정합니다

  13. 13

    올바른 답변이 될 때까지 특정 질문을 반복하는 루프를 어떻게 프로그래밍할까요? 그들이 틀렸다는 것을 보여주는 메시지를 어떻게 코딩 할 수 있습니까?

  14. 14

    어떻게 코 틀린 자바의 비트 연산자를 사용합니까?

  15. 15

    어떻게 자바 호출자의 '무효'반환 형식으로 코 틀린 람다를 선언?

  16. 16

    어떻게 고정 된 크기 IntArray와 코 틀린 나중에 배열을 초기화를 만드는 방법?

  17. 17

    어떻게 couroutine이 (AdsWizz) 코 틀린 콜백 함수를 래핑 할 수 있습니까?

  18. 18

    어떻게 자바에서 코 틀린 클래스로 작성된 함수를 호출 할 수 있습니까?

  19. 19

    하드웨어 제곱근으로 나눗셈 연산을 수행 할 수 있습니까?

  20. 20

    이 어셈블리 코드를 어떻게 실행합니까?

  21. 21

    어떻게 안드로이드 프로젝트에서 코 틀린 지원을 제거하려면?

  22. 22

    안드로이드 코 틀린 : 어떻게 비동기 호출 후에 recyclerView를 업데이트? 점점 CalledFromWrongThreadException

  23. 23

    모듈로 대신 부동 소수점 수를 얻기 위해 간단한 나눗셈이 어떻게 작동합니까?

  24. 24

    어떻게 자바에 대한 코 틀린 정적 변수와 함수를 어떻게해야합니까?

  25. 25

    코 틀린 || 어떻게 안드로이드에서 switch 문처럼 온 클릭 (에서보기 ID)를 구별?

  26. 26

    어떻게 코 틀린 안드로이드에 특수 문자를 처리하는

  27. 27

    어떻게 코 틀린에 두 개의 서로 다른 길이의 목록을 결합하려면?

  28. 28

    나눗셈 결과에 따라 벡터를 다른 값으로 나눕니다.

  29. 29

    코로나 / 루아 / 실망스러운 타이머 곱셈

뜨겁다태그

보관