Kotlin에서 Floor Modulo 함수 구현

David Mbochi Njonge 2023년10월8일
  1. 새 Kotlin 프로젝트 생성
  2. Kotlin에서 Int에 대한 사용자 정의 층 모듈로 함수 생성
  3. Double에 대한 사용자 정의 바닥 모듈로 함수 생성
  4. Float에 대한 사용자 정의 바닥 모듈로 함수 생성
  5. 결론
Kotlin에서 Floor Modulo 함수 구현

모든 프로그래밍 언어에는 산술 연산자, 대입 연산자, 비교 연산자 및 논리 연산자를 포함하여 다양한 계산을 수행하는 데 도움이 되는 연산자가 있습니다.

이러한 연산자는 일반적인 산술 연산을 수행하는 데 도움이 되지만 항상 요구 사항을 충족하지는 않습니다. 이러한 상황에서 개발자는 이러한 연산자를 사용하여 요구 사항을 충족하는 알고리즘을 만들기 위해 노력합니다.

이러한 알고리즘은 일반적으로 메서드를 사용하여 추상화됩니다. 결과를 얻으려면 올바른 매개 변수를 사용하여 이 메서드를 호출하기만 하면 됩니다.

예를 들어, mod() 함수는 Kotlin의 모든 Number 타입에서 구현된 확장 함수로, 이 숫자를 다른 숫자로 나눈 나머지를 계산하기 위해 사용됩니다. 그러나 이 함수는 Double 또는 Float 타입의 인수만 허용합니다.

이 자습서에서는 개발자의 요구 사항을 충족하는 인수를 사용하여 이 숫자의 바닥 분할 나머지를 다른 숫자로 계산하는 사용자 지정 함수를 만드는 방법을 배웁니다.

새 Kotlin 프로젝트 생성

IntelliJ IDEA를 열고 파일 > 새로 만들기 > 프로젝트를 선택합니다. 열리는 창에서 floor-modulo라는 프로젝트를 입력하고 Language 섹션에서 Kotlin을 선택한 다음 Build system 섹션에서 Intellij를 선택합니다.

마지막으로 Create 버튼을 눌러 Kotlin 프로젝트를 생성합니다.

Kotlin에서 Int에 대한 사용자 정의 층 모듈로 함수 생성

프로젝트 생성이 완료되면 src/main/kotlin 폴더에 Main.kt라는 파일을 생성하고 다음 코드를 파일에 복사하여 붙여넣습니다.

infix fun Int.floorMod(other: Double) =
    ((this % other) + other) % other

fun main(){
    val intValue = 5
    println(intValue.floorMod(3.2))
}

이 코드에서는 Int 데이터 유형의 함수인 floorMod()라는 확장 함수를 만들었습니다. 이 메서드는 Double 유형의 다른 값을 사용하여 Int 값의 나머지 바닥 분할을 계산합니다.

이는 개발자가 이 함수의 인수로 Number 유형 구현을 사용할 수 있음을 의미하는 사용자 지정 구현을 만드는 방법을 보여주는 예입니다.

응용 프로그램을 사용하기 전에 함수를 먼저 정의해야 합니다. 이 코드를 실행하고 출력이 아래와 같은지 확인하십시오.

1.7999999999999998

Double에 대한 사용자 정의 바닥 모듈로 함수 생성

infix fun Double.floorMod(other: Int) =
    ((this % other) + other) % other

fun main(){
    val intValue = 5
    println(3.2.floorMod(intValue));
}

이 코드에서는 Int 데이터 유형의 함수인 floorMod()라는 메서드를 만들었습니다. 이 메서드는 Int 유형의 다른 값을 사용하여 Double 값의 나머지 바닥 분할을 계산합니다.

이 예제는 이전 예제와 동일한 방식으로 작동하며 이 메서드에 다른 인수를 전달해야 하는 경우 원하는 인수를 허용하는 함수를 정의해야 합니다. 이 코드를 실행하고 출력이 아래와 같은지 확인하십시오.

3.1999999999999993

Float에 대한 사용자 정의 바닥 모듈로 함수 생성

infix fun Float.floorMod(other: Double) =
    ((this % other) + other) % other

fun main(){
    val floatValue = 5F
    println(floatValue.floorMod(3.2))

}

지금까지 필요한 사양을 충족하기 위해 바닥 모듈로를 계산하는 사용자 지정 함수를 만드는 방법을 알고 있습니다. 이 코드는 floorMod()라는 확장 함수를 만들고 Float 데이터 유형의 함수입니다.

이 방법은 Double 유형의 다른 값을 사용하여 Float 값의 나머지 바닥 분할을 계산합니다.

이전 예제에서 언급했듯이 Float에 대한 확장 함수를 생성하여 다른 인수를 허용하는 프로세스입니다. 이 코드를 실행하고 출력이 아래와 같은지 확인하십시오.

1.7999999999999998

결론

이 자습서에서는 두 숫자의 바닥 계수를 계산하는 데 도움이 되는 사용자 지정 확장 함수를 만드는 방법을 배웠습니다. 우리가 다룬 주제에는 Int, DoubleFloat 데이터 유형에 대한 바닥 모듈로 계산이 포함됩니다.

Long, ShortByte와 같은 나머지 Number 구현에 대해 동일한 접근 방식을 사용해야 합니다.

David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub