- 281 名前:デフォルトの名無しさん [2010/04/25(日) 11:30:17 ]
- 環境 scala2.7.7 eclipseのプラグイン
メソッド内でmutablueなMapでデータを作成、編集して、immutableにして返したいから、 メソッドの戻り値の型自体はMapで宣言しておき、最後にreadOnlyってメソッドよんで返すと、 type mismatch; found : scala.collection.Map required: Map (scala.collection.Mapをかえしてるけど、このメソッドではMapを返すって宣言してるから型違うよ) っておこられるんだが・・・ Predefの中で type Map[A, +B] = collection.immutable.Map[A, B] って宣言してて、collectionのMapってimmutableのMapのことだから結局おなじじゃないのか? Predefと同じtypeの宣言をそのメソッドのクラス内に書けばエラーでないがこういうモノなのか? なんだが微妙に冗長になって気にくわないんだが・・・ なんかいい方法あったら教えてくれ そもそもScala2.8だと違うのか? eclipseが悪いのか? 効率なんか考えないで最初からimmutableなMapで作成すればいいのか? Listとかでも同じ問題がおきると思うんだが・・・
|

|