Kotlinの拡張関数に関してです。
Objective-cのように既存の型に対して、新しい関数を定義することができます。
既存の型とは、StringやIntなどのことです。
使用例を見ていきましょう
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
fun main(args: Array<String>) { var str = "not num" var num = "1234567890" // not num is false println(str + " is " + str.isNumber()) // 1234567890 is true println(num + " is " + num.isNumber()) } fun String.isNumber(): Boolean { val pattern = java.util.regex.Pattern.compile("^[0-9]*$") val matcher = pattern.matcher(this) return matcher.matches() } |
fun String.関数名{
}
Stringは型なので、Intなどに応用することができます。
ここでは、入力された文字列が数字かどうかを判断して、
数字ならばtrue、数字でなければfalseを返すStringの関数を定義しました。
code
more code
~~~~