我正在尝试将Selection类型从Java转换为Scala,并且我不确定如何将此循环转换为Scala:
for (int j = i + 1; j < N; j++)
这是一个更大的Java代码示例及其Scala等效项:
Java:
sort(Comparable[] a)
{
int N = a.length;
for (int i = 0; i < N; i++)
{
int min = i
for (int j = i + 1; j < N; j++)
}
斯卡拉:
def sort(a : Array[Ordered[Any]]) = {
var N = a.length
for (i
var min = i
for(j
}
}
}
如何将内循环转换为Scala?
for (int j = i + 1; j < N; j++)
迭代时我不知道怎么做作业……
解决方法:
干得好:
def sort(a : Array[Ordered[Any]]) = {
val N = a.length
for (i
var min = i
for(j
}
}
}
此外,在Scala中,您可以在里面定义值以进行理解,并将多个块合并为一个:
def sort(a : Array[Ordered[Any]]) = {
val n = a.length
for(i
// do something with i, j and min
}
}
有时,这可能会导致更清晰的代码
标签:java,scala
来源: https://codeday.me/bug/20190723/1509854.html