Я новичок в функциональном языке программирования, и я изучаю его в Scala для университетского проекта.
Это может показаться простым, но я не могу найти достаточную помощь в Интернете для этого или простого способа сделать это - как я могу преобразовать Array [String] в Array [Double]? У меня есть файл CSV, который при чтении в REPL интерпретируется как значения String (каждая строка файла содержит сочетание целых и строковых значений), которые возвращают тип Array [String]. Я хочу кодировать строковые значения с помощью значений double/int, чтобы вернуть Array [Double], чтобы сделать массив однородным. Есть ли простой способ сделать это? Любые рекомендации будут высоко оценены.
Что я сделал до сих пор:
def retrieveExamplesFromFile(fileName : String) : Array[Array[String]] = {
val items = for {
line <- Source.fromFile(fileName).getLines()
entries = line.split(",")
} yield entries
return items.toArray
}
Формат каждой строки (возвращаемый как String []):
[[1.0, 2.0, item1], [5, 8.9, item2],....]
И чтобы преобразовать каждую строку в CSV файл в двойной массив, у меня есть только определение psuedo, поэтому:
def generateNumbersForStringValues(values : Array[String]) : Array[Double] = {
val line = for(item <- values)
{
//correct way?
item.replace("item1", "1.0")
item.replace("item2", "1.0")
}
return //unable to typecast/convert
}
Любые идеи приветствуются. Спасибо за ваше время.