加号如何指代 Kotlin 中的加号函数,它是一个中缀函数吗?
How does plus sign refers to plus function in Kotlin and is it an infix function?
我有三个问题。
1.加号(+)或in运算符如何引用plus()和包含()函数?
2. 这些是中缀函数吗?
他们没有中缀符号。
3. 有什么方法可以将自定义字符定义为运算符吗?
1) & 2)
+
和 in
(以及其他一些)是语言内置的并且是隐式中缀并且具有相关的运算符函数(加上 & 包含)。
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/plus.html#kotlin$plus(kotlin.String,%20kotlin.Any)/其他
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/contains.html
3) 是的,但是你必须转义这样的字符 `$`
或 `^`
infix fun Int.`√`(arg: Double): Double {
return Math.pow(arg, 1.0 / this.toDouble())
}
infix fun Double.`^^`(arg: Double): Double {
return Math.pow(arg, this)
}
fun main() {
println( 3 `√` 27.0 ) // 3.0
println( 3.0 `^^` 3.0 ) // 27.0
}
此处定义了运算符重载
https://kotlinlang.org/docs/reference/operator-overloading.html
Expression Translated to
a + b a.plus(b)
a - b a.minus(b)
a * b a.times(b)
a / b a.div(b)
a % b a.rem(b), a.mod(b) (deprecated)
a..b a.rangeTo(b)
这里有特殊符号和保留字
https://kotlinlang.org/docs/reference/keyword-reference.html
Operators and Special Symbols
Kotlin supports the following operators and special symbols:
+, -, *, /, % - mathematical operators
我有三个问题。
1.加号(+)或in运算符如何引用plus()和包含()函数?
2. 这些是中缀函数吗?
他们没有中缀符号。
3. 有什么方法可以将自定义字符定义为运算符吗?
1) & 2)
+
和 in
(以及其他一些)是语言内置的并且是隐式中缀并且具有相关的运算符函数(加上 & 包含)。
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/plus.html#kotlin$plus(kotlin.String,%20kotlin.Any)/其他
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/contains.html
3) 是的,但是你必须转义这样的字符 `$`
或 `^`
infix fun Int.`√`(arg: Double): Double {
return Math.pow(arg, 1.0 / this.toDouble())
}
infix fun Double.`^^`(arg: Double): Double {
return Math.pow(arg, this)
}
fun main() {
println( 3 `√` 27.0 ) // 3.0
println( 3.0 `^^` 3.0 ) // 27.0
}
此处定义了运算符重载
https://kotlinlang.org/docs/reference/operator-overloading.html
Expression Translated to
a + b a.plus(b)
a - b a.minus(b)
a * b a.times(b)
a / b a.div(b)
a % b a.rem(b), a.mod(b) (deprecated)
a..b a.rangeTo(b)
这里有特殊符号和保留字
https://kotlinlang.org/docs/reference/keyword-reference.html
Operators and Special Symbols
Kotlin supports the following operators and special symbols:
+, -, *, /, % - mathematical operators