Я ищу решение от Гарретта Холла из Рекурсивное удаление каталога в Scala
import scala.reflect.io.Directory
import java.io._
val dir : String = "/tmp/tempdir_prefix5708675182947835848"
def deleteRecursively(file: File): Unit = {
if (file.isDirectory) {
file.listFiles.foreach(deleteRecursively)
}
if (file.exists && !file.delete) {
throw new Exception(s"Unable to delete ${file.getAbsolutePath}")
}
}
deleteRecursively(dir.asInstanceOf(File))
это выдает ошибку
con@VB:~/Scripts/scala$ scala delete_dir.scala
/home/con/Scripts/scala/delete_dir.scala:15: error: T0 does not take parameters
deleteRecursively(dir.asInstanceOf(File))
^
one error found
Я также пробовал
deleteRecursively(dir))
но это дает ошибку
con@VB:~/Scripts/scala$ scala delete_dir.scala
/home/con/Scripts/scala/delete_dir.scala:15: error: type mismatch;
found : String
required: java.io.File
deleteRecursively(dir)
, а также deleteRecursively(File(dir))
, но это дает
con@VB:~/Scripts/scala$ scala delete_dir.scala
/home/con/Scripts/scala/delete_dir.scala:15: error: object java.io.File is not a value
deleteRecursively(File(dir))
Я новичок в Scala, и я не могу найти решения для этого. Я чувствую, что оригинальный постер забыл что-то добавить, как он ожидал, что все об этом узнают, но я не знаю, потому что я слишком неопытен.
Как я могу изменить код, чтобы я мог передать каталог какрекурсивно удаляемая строка?