私の質問への答えがすでにここにある場合は、それをリンクしてください...私は見ました。
私はいくつかのチュートリアルを行っていますが、このコードが少し奇妙に感じました。
val my_set = Set("one","two","three")
println("First Value:" + my_set.toArray(0))
コマンドラインから実行すると、次のエラーが発生しました。
$ scala settoarray.scala
/Users/rwheadon/devStuff/scala_sandbox/so_settoarray.scala:2: error: type mismatch;
found : Int(0)
required: ClassManifest[?]
println("First Value:" + my_set.toArray(0))
^
one error found
私はグーグルで検索し、ClassManifest [?]要件を提供するための方向性を探しましたが、インラインで機能するものを取得できませんでした。
好奇心から、同じ単純なtoArray()をvalに入れて、配列を正常にバインドしようとしました。
コード:
val my_set = Set("one","two","three")
val my_arry = my_set.toArray
println("First Value:" + my_arry(0))
コンソールから実行:
$ scala so_settoarray.scala
First Value:one
私が疑問に思っているのは、最初の要素のクイックprintlnのためにmy_set toArray(0)のようなクイックインライン変換を実行しようとするときに追加する必要があるものがあるかどうかです。変数の結果を設定する必要がある場合は、それを簡単に受け入れることができますが、インライン配列キャストを機能させるための小さな点が欠けていると思います。
(... Scalaは魔法ですよね?)