//case class example
//case class can be used for pattern matching
//'new' is not needed while creating instance of case class
scala> case class B(id:Int, name:String)
defined class B
scala> val myList = List(B(2,"Sankar"),B(3,"Hari"),4)
myList: List[Any] = List(B(2,Sankar), B(3,Hari), 4)
scala> for (i <- myList){
| i match {
| case B(id,name) => println(s"The data is $id and $name")
| case x:Int => println(s"The data is $x")
| }
| }
The data is 2 and Sankar
The data is 3 and Hari
The data is 4
scala> case class C(id:Int, name:String, age:Int)
defined class C
scala> case class B(id:Int, name:String)
defined class B
scala> val l = List(B(1,"Sankar"),C(2,"Hari",23),B(3,"Priya"),C(5,"Akash",33),58)
l: List[Any] = List(B(1,Sankar), C(2,Hari,23), B(3,Priya), C(5,Akash,33), 58)
scala> for (i <- l) {
| i match {
| case B(id,name) => println(s"The B class data is $id : $name")
| case C(id,name,age) => println("The C class data is $id : $name : $age")
| case x:Int => println(s"The inter is $x")
| }
| }
The B class data is 1 : Sankar
The C class data is $id : $name : $age
The B class data is 3 : Priya
The C class data is $id : $name : $age
The inter is 58
scala> case class Person(var id:Int, var name:String)
defined class Person
scala> val p = Person(10,"Sara")
p: Person = Person(10,Sara)
scala> p.name = "Lara"
p.name: String = Lara
scala> p.id = 100
p.id: Int = 100
scala> p
res6: Person = Person(100,Lara)
scala> case class Student(val id:Int, val name:String)
defined class Student
scala> val s = Student(10,"Kalai")
s: Student = Student(10,Kalai)
scala> s.name = "Silai"
<console>:12: error: reassignment to val
s.name = "Silai"
^
Subscribe to:
Post Comments (Atom)
Flume - Simple Demo
// create a folder in hdfs : $ hdfs dfs -mkdir /user/flumeExa // Create a shell script which generates : Hadoop in real world <n>...
-
How to fetch Spark Application Id programmaticall while running the Spark Job? scala> spark.sparkContext.applicationId res124: String = l...
-
input data: ---------- customerID, itemID, amount 44,8602,37.19 35,5368,65.89 2,3391,40.64 47,6694,14.98 29,680,13.08 91,8900,24.59 ...
-
pattern matching is similar to switch statements in C#, Java no fall-through - at least one condition matched no breaks object PatternExa { ...
No comments:
Post a Comment