gpt4 book ai didi

scala - 我如何将以下Java向后计数循环转换为Scala?

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

以下Java代码是一段非常简单的代码,但是Scala中的等效结构是什么?

for (int i=10; i> 0; i-=2) {
System.out.println(i);
}

最佳答案

答案取决于您是否还需要与Java一样快的代码。

如果您只是想让它工作,可以使用:

for (i <- 10 until 0 by -2) println(i);

(其中 until表示省略最后一个条目,而 to表示包括最后一个条目,就好像您使用了 >>=一样)。

但是,这样做会产生一些开销。 for循环在Scala中比在Java中更通用,尽管可以进行原则上的优化,但实际上还没有(不是在2.9版的核心发行版中; ScalaCL插件可能会为您优化它)。 )。

对于println,打印所需的时间比循环要长得多,因此可以。但是在一个您知道是性能瓶颈的紧密循环中,您将需要使用while循环:
var i = 10
while (i > 0) {
println(i)
i -= 2
}

关于scala - 我如何将以下Java向后计数循环转换为Scala?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6741787/

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