Kotlin で Floor Modulo 関数を実装する
- 新しい Kotlin プロジェクトを作成する
-
Kotlin で
Int
のカスタム Floor Modulo 関数を作成する -
Double
のカスタム フロア モジュロ関数を作成する -
Float
のカスタム フロア モジュロ関数を作成する - まとめ
すべてのプログラミング言語には、算術演算子、代入演算子、比較演算子、論理演算子など、さまざまな計算を行うのに役立つ演算子があります。
これらの演算子は、一般的な算術演算を実行するのに役立ちますが、常に要件を満たすとは限りません。 このような状況では、開発者は、これらの演算子を使用して要件を満たすアルゴリズムを作成するために最善を尽くします。
これらのアルゴリズムは通常、メソッドを使用して抽象化されます。 結果を取得するには、適切なパラメーターを指定してこのメソッドを呼び出すだけで済みます。
例えば、mod()
はKotlinのすべてのNumber
型で実装された拡張関数で、この数値と別の数値の床割り算の余りを計算するためのものですが、それはDouble
またはFloat
型の引数のみを受け入れます。
このチュートリアルでは、カスタム関数を作成して、開発者の要件を満たす任意の引数を使用して、この数値を別の数値で除算した残りの部分を計算する方法を学習します。
新しい Kotlin プロジェクトを作成する
IntelliJ IDEA を開き、File
> New
> Project
を選択します。 開いたウィンドウで、floor-modulo
という名前のプロジェクトを入力し、Language
セクションで Kotlin
を選択し、Build system
セクションで Intellij
を選択します。
最後に、Create
ボタンを押して Kotlin プロジェクトを生成します。
Kotlin で Int
のカスタム Floor Modulo 関数を作成する
プロジェクトが生成されたら、Main.kt
という名前のファイルを src/main/kotlin
フォルダーの下に作成し、次のコードをコピーしてファイルに貼り付けます。
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()
という名前のメソッドを作成しました。 このメソッドは、Double
値を別の Int
型の値で除算した残りの部分を計算します。
この例は前の例と同じように機能します。このメソッドに別の引数を渡す必要がある場合は、必要な引数を受け入れる関数を定義する必要があります。 このコードを実行して、出力が次のようになっていることを確認します。
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
まとめ
このチュートリアルでは、カスタム拡張関数を作成して、2つの数値のフロア モジュロを計算する方法を学びました。 これまで取り上げたトピックには、Int
、Double
、および Float
データ型のフロア モジュロの計算が含まれます。
Long
、Short
、Byte
など、残りの Number
の実装にも同じアプローチを使用する必要があることに注意してください。
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