以下のコードをご覧ください。この行は、Eclipseによって正しくないとマークされています。
var map = Map[MyEnum,Point]()
私はJavaと同等のscalaを実行しようとしています:
private enum Letters{ A,B,C}
private Map<Letters,Integer> thing= new HashMap<Letters,Integer> ();
そして、これはそれが書かれているファイル/コンテキストです。
class Point(var x:Int = 0, var y:Int = 0, var hasBeenSet:Boolean = false){
}
object MyEnum extends Enumeration{
MyEnum = Value
val UL,U,UR,L,R,DL,D,DR = Value
}
object MyEnumHolder {
var map = Map[MyEnum,Point]()
MyEnum.values.foreach(x => (map + (x -> new Point()) )
}
列挙型の各値が空のポイントにマップされた状態でマップのインスタンスを初期化しようとしています(これがfor eachループで行われていることです)。
編集:貼り付けたコードの編集を台無しにしたため、編集する必要がありましたが、今は有効になっているはずです