プログラミング言語 Scala 3冊目
■ このスレッドは過去ログ倉庫に格納されています
0281デフォルトの名無しさん
2010/04/25(日) 11:30:17メソッド内で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とかでも同じ問題がおきると思うんだが・・・
■ このスレッドは過去ログ倉庫に格納されています