33 lines
806 B
Scala
33 lines
806 B
Scala
package main
|
|
import java.io.File
|
|
|
|
/**
|
|
* Created by claudio on 06/10/16.
|
|
*/
|
|
object main extends App{
|
|
println("Chapter 6: Built-in command structures")
|
|
println("\nGrepping '.*' from files in 'prova' directory")
|
|
val files = new File("prova").listFiles
|
|
|
|
def grep(pattern: String) {
|
|
def fileLines(file: File) = scala.io.Source.fromFile(file).getLines().toList
|
|
for {
|
|
file <- files
|
|
if file.isFile
|
|
line <- fileLines(file)
|
|
trimmed = line.trim
|
|
if trimmed.matches(pattern)
|
|
} println(file+": "+trimmed)
|
|
}
|
|
grep(".*")
|
|
|
|
println("\nListing all .scala files in 'prova' directory")
|
|
def scalaFiles =
|
|
for{
|
|
file <- files
|
|
if file.getName.endsWith(".scala")
|
|
} yield file
|
|
val stairwayFiles = scalaFiles
|
|
stairwayFiles.foreach(f => println(f))
|
|
}
|