Этот код может быть полезен
L ={x, y, z}
T= ((0,"c"),(1,"d"),(2,"e"),(3,"f"),)
List2=[]
for t in T :
if t[0] in L :
List2.append(t[1])
break;
src/main/resources
и src/test/resources
. Пример структуры папок:
testing_styles/
├── build.sbt
├── src
│ └── main
│ ├── resources
│ │ └── readme.txt
Для чтения ресурсов объект Source предоставляет метод fromResource.
import scala.io.Source
val readmeText : Iterator[String] = Source.fromResource("readme.txt").getLines
Для чтения ресурсов вы можете использовать getClass.getResource и getClass.getResourceAsStream.
val stream : InputStream = getClass.getResourceAsStream("/readme.txt")
val lines = scala.io.Source.fromInputStream( stream ).getLines
Имейте в виду, что getResourceAsStream также отлично работает, когда ресурсы являются частью jar, getResource, который возвращает URL-адрес, который часто используется для создания файла, может привести к проблемам там.
Чтобы избежать несанкционированных Java NPE (Java настолько ужасен), рассмотрите:
import scala.io.Source
import scala.util.Try
def niceFeedbackReadResource(resource: String): List[String] =
Try(Source.fromResource(resource).getLines.toList)
.recover(throw new FileNotFoundException(resource))
Чтобы получить значимые FNFE вместо этого.
Для производственного кода я также предлагаю убедиться, что источник снова закрыт.
import scala.io.Source
object Demo {
def main(args: Array[String]): Unit = {
val fileStream = getClass.getResourceAsStream("/json-sample.js")
val lines = Source.fromInputStream(fileStream).getLines
lines.foreach(line => println(line))
}
}
Для Scala> = 2.12 используйте Source.fromResource
:
scala.io.Source.fromResource("located_in_resouces.any")