lol*_*f64 2 scala implicit-conversion
我设法在scala中为Integer定义一个新的运算符:"!" 阶乘算子.同时,我想在没有点运算符的情况下调用它,这样就不会抛出任何警告(我不想禁用警告功能).可能吗 ?
这是我的测试代码:
implicit.scala
implicit class IntegerUtils(wrapped:Int) {
def !() = (2 to wrapped).product
}
(1 to 5).foreach { v => println (v.!) }
Run Code Online (Sandbox Code Playgroud)
Rob*_*ier 13
import language.postfixOps
implicit class IntegerUtils(wrapped:Int) {
def !() = (2 to wrapped).product
}
(1 to 5).foreach { v => println (v!) } //> 1
//| 2
//| 6
//| 24
//| 120
Run Code Online (Sandbox Code Playgroud)
正如文档所指出的那样,"后缀运算符与分号推断的交互性很差.大多数程序员因此而避免使用它们." 但是如果你在一个特定的文件中做了很多这样的事情,它就会非常方便.
| 归档时间: |
|
| 查看次数: |
582 次 |
| 最近记录: |