-
Notifications
You must be signed in to change notification settings - Fork 11
/
FP2ReadingFile1.scala
52 lines (41 loc) · 1.45 KB
/
FP2ReadingFile1.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package jug.lodz.workshops.fp2.exercises
import scala.io.{BufferedSource, Source}
/**
* Created by pwlodarski on 2016-03-15.
*/
object FP2ReadingFile1 {
def demonstration(l:List[Int]):List[Int]= l.filter(e=>e>7)
//exercise - left only even numbers
def filter_1(l:List[Int]):List[Int]= ???
//exercise - left only numbers which are in the someSet
val someSet=Set(3,7,10,50)
def filter_2(l:List[Int]):List[Int]= ???
//additional
//return tuple where first elements of a tuple are even
// and the second element of the tuple contains odd elements
def additional(l:List[Int]): (List[Int], List[Int]) = ???
def main(args: Array[String]) {
//PREPARATION
println(demonstration(List(1,2,3,4,5,6,7,8,9,10))==List(8,9,10))
//EXERCISES
// println(filter_1(List(1,2,3,4,5,6,7,8,9,10))==List(2,4,6,8,10))
// println(filter_1(List(10,13,18,23,37,50))==List(10,18,50))
//
// println(filter_2(List(1,2,3,4,5,6,7,8,9,10))==List(3,7,10))
// println(filter_2(List(10,13,18,23,37,50))==List(10,50))
//EXERCISE - Display only rows where login==user1
// readFile()
//ADDITIONAL
// println( additional(List(1,2,3,4)) == (List(2,4),List(1,3)))
}
def readFile(): Unit = {
val source: BufferedSource = Source.fromURL(getClass().getResource("/fpjava/purchases.csv"))
try {
source.getLines()
// ??? //extract lines with user="user1"
.foreach(println)
} finally {
source.close()
}
}
}