Ich habe eine Liste in scala namens l: List [AType], die ich in die Liste [String] ändern möchte.Die beste Art, Listenart in scala zu ändern
Das klingt vielleicht nach einem sehr dreckigen, ineffizienten Ansatz, aber ich bin mir nicht sicher, wie ich das am besten machen soll. Mein Code war:
var result = new Array[String]("a","b")
l foreach { case a => result = result :+ (a.toString().toUpperCase()); }
result toList
Ich bin nicht sicher, ob dies ist, wo mein Fehler ist, weil es mir nichts ist zu geben, ist es nicht einmal etwas Druck, auch wenn ich in der Schleife eine print-Anweisung setzen.
Also beschloss ich, dies zu einem Imperativ Art und Weise zu ändern: Dieses Mal, wenn ich Dinge sehen
for(i <- 0 to l.length) {
result.update(i, l(i).toString)
}
, die ich sehen will, wenn innerhalb der Schleife Druck, aber am Ende des Programm abgestürzt ist mit einem IndexOutOfBound Fehler .
Gibt es einen effizienteren und besseren Weg, dies zu tun?
Danke!
Was ist, wenn es von einem anderen Typ ist? Soll ich l.map (_. ToString) .map (_. ToUpperCase) oder l.map (_. ToString._toUpperCase) sagen? Letzteres funktionierte nicht für mich ... –
@the_great_monkey dann ist es 'l.map (_. ToString.toUpperCase)' – Moritz
'l.map (.toString) .map (.toUpperCase)' ist nicht gültig Scala. 'l.map (_. toString.toUpperCase)' funktioniert. Sie hatten ein falsches _ zwischen dem Punkt und dem toUpperCase. –