私はこの簡単なコードを持っています:
import java.util
import scala.collection.JavaConversions._
def f(x: util.List[Int]): Array[Int] = {
x.toArray[Int]
}
失敗していますerror: missing arguments for method toArray in trait List
ただし、ソースコードtoArray
は次のとおりです。
trait TraversableOnce[+A] extends Any with GenTraversableOnce[A] {
...
def toArray[B >: A : ClassTag]: Array[B] = {
if (isTraversableAgain) {
val result = new Array[B](size)
copyToArray(result, 0)
result
}
else toBuffer.toArray
}
したがって、明らかに議論の欠落はありません。
1) それはどのように可能ですか? 簡単な回避策はありますか?または、何か不足していますか?
2) エラーメッセージは に続きますfollow this method with '_' if you want to treat it as a partially applied function
。ばかげた提案だと思いませんか?戻り値を宣言しているため、部分的に適用された関数は動作しません。コンパイラはそれを見るはずです。