gpt4 book ai didi

Scala 阶乘方法(即 "!") : removing the dot operator?

转载 作者:行者123 更新时间:2023-12-04 16:06:00 25 4
gpt4 key购买 nike

我设法在 scala 中为 Integer 定义了一个新的运算符:“!”阶乘运算符。同时,我想在没有点运算符的情况下调用它,这样就不会引发警告(而且我不想禁用警告功能)。可能吗?

这是我的测试代码:

隐式.scala

implicit class IntegerUtils(wrapped:Int) {
def !() = (2 to wrapped).product
}

(1 to 5).foreach { v => println (v.!) }

最佳答案

只是import language.postfixOps :

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

正如文档所指出的,“后缀运算符与分号推断的交互很差。出于这个原因,大多数程序员都避免使用它们。”但是,如果您在特定文件中执行大量此类操作,它会非常方便。

关于Scala 阶乘方法(即 "!") : removing the dot operator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21002949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com