println( "Actually executing" )
// val studentList = Option(Seq(
// new Student("alex", "seattle", "92394"),
// new Student("james", "london", "32e12321"),
// new Student("jon", "denvor", "123123")
// ))
// val studentList = Option(Seq.empty[Student])
new Student
( "alex" ,
"seattle" ,
"92394" ) ,
new Student
( "james" ,
"london" ,
"32e12321" ) ,
new Student
( "jon" ,
"denvor" ,
"123123" ) )
val studentEmpty
= Seq.
empty [ Student
]
println( "Student full " + studentFull.headOption )
println( "Student empty " + studentEmpty.headOption )
val maybePerson
= studentFull.
headOption match { p.name , p.address ) )
}
println( "Maybe person from student full " + maybePerson.toString )
val maybePerson2
= studentEmpty.
headOption match { p.name , p.address ) )
}
println( "Maybe person from student empty " + maybePerson2.toString )
val maybePerson3
= studentList.
getOrElse ( Seq.
empty ) .
headOption match { println( "case 1" )
"abc" , "bcd" ) )
}
println( "case 2" )
None
}
}
println( "Maybe person from student " + maybePerson3.toString )
}
name: String,
address: String,
phoneNo: String
)
name: String,
address: String
)
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewogICAgcHJpbnRsbigiQWN0dWFsbHkgZXhlY3V0aW5nIikKICAgCS8vIHZhbCBzdHVkZW50TGlzdCA9IE9wdGlvbihTZXEoCiAgICAvLyAgICAgICBuZXcgU3R1ZGVudCgiYWxleCIsICJzZWF0dGxlIiwgIjkyMzk0IiksCiAgICAvLyAgICAgICBuZXcgU3R1ZGVudCgiamFtZXMiLCAibG9uZG9uIiwgIjMyZTEyMzIxIiksCiAgICAvLyAgICAgICBuZXcgU3R1ZGVudCgiam9uIiwgImRlbnZvciIsICIxMjMxMjMiKQogICAgLy8gICAgICkpCiAgICAgICAgCiAgICAgICAgICAgCS8vIHZhbCBzdHVkZW50TGlzdCA9IE9wdGlvbihTZXEuZW1wdHlbU3R1ZGVudF0pCiAgICAgICAgICAgCQogICAgICAgICAgIAl2YWwgc3R1ZGVudExpc3QgPSBOb25lCiAgIAkKICAgCXZhbCBzdHVkZW50RnVsbCA9IFNlcSgKICAgICAgICAgIG5ldyBTdHVkZW50KCJhbGV4IiwgInNlYXR0bGUiLCAiOTIzOTQiKSwKICAgICAgICAgIG5ldyBTdHVkZW50KCJqYW1lcyIsICJsb25kb24iLCAiMzJlMTIzMjEiKSwKICAgICAgICAgIG5ldyBTdHVkZW50KCJqb24iLCAiZGVudm9yIiwgIjEyMzEyMyIpCiAgICAgICAgKQoKICAgICAgICB2YWwgc3R1ZGVudEVtcHR5ID0gU2VxLmVtcHR5W1N0dWRlbnRdCgogICAgICAgIHByaW50bG4oIlN0dWRlbnQgZnVsbCAiICsgc3R1ZGVudEZ1bGwuaGVhZE9wdGlvbikKICAgICAgICBwcmludGxuKCJTdHVkZW50IGVtcHR5ICIgKyBzdHVkZW50RW1wdHkuaGVhZE9wdGlvbikKICAgICAgICAKICAgICAgICB2YWwgbWF5YmVQZXJzb24gPSBzdHVkZW50RnVsbC5oZWFkT3B0aW9uIG1hdGNoIHsKICAgICAgICAJY2FzZSBTb21lKHApID0+IE9wdGlvbihuZXcgUGVyc29uKAogICAgICAgIAkJcC5uYW1lLCBwLmFkZHJlc3MpKQogICAgICAgIAljYXNlIF8gPT4gTm9uZQogICAgICAgIH0KICAgICAgICAKICAgICAgICBwcmludGxuKCJNYXliZSBwZXJzb24gZnJvbSBzdHVkZW50IGZ1bGwgIiArIG1heWJlUGVyc29uLnRvU3RyaW5nKQogICAgICAgIAogICAgICAgIHZhbCBtYXliZVBlcnNvbjIgPSBzdHVkZW50RW1wdHkuaGVhZE9wdGlvbiBtYXRjaCB7CiAgICAgICAgCWNhc2UgU29tZShwKSA9PiBTb21lKG5ldyBQZXJzb24oCiAgICAgICAgCQlwLm5hbWUsIHAuYWRkcmVzcykpCiAgICAgICAgCWNhc2UgXyA9PiBOb25lCiAgICAgICAgfQogICAgICAgIAogICAgICAgIHByaW50bG4oIk1heWJlIHBlcnNvbiBmcm9tIHN0dWRlbnQgZW1wdHkgIiArIG1heWJlUGVyc29uMi50b1N0cmluZykKICAgICAgICAKICAgICAgICB2YWwgbWF5YmVQZXJzb24zID0gc3R1ZGVudExpc3QuZ2V0T3JFbHNlKFNlcS5lbXB0eSkuaGVhZE9wdGlvbiBtYXRjaCB7CiAgICAgICAgCWNhc2UgU29tZShwKSA9PiB7CiAgICAgICAgCQlwcmludGxuKCJjYXNlIDEiKQogICAgICAgIAkJU29tZShuZXcgUGVyc29uKAogICAgICAgIAkgICAgICJhYmMiLCAiYmNkIikpCiAgICAgICAgCX0KICAgICAgICAJY2FzZSBfID0+IHsKICAgICAgICAJCXByaW50bG4oImNhc2UgMiIpCiAgICAgICAgCQlOb25lCiAgICAgICAgCX0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcHJpbnRsbigiTWF5YmUgcGVyc29uIGZyb20gc3R1ZGVudCAiICsgbWF5YmVQZXJzb24zLnRvU3RyaW5nKQp9CgpjYXNlIGNsYXNzIFN0dWRlbnQgKAogICAgICAgICAgICAgICAgICAgICBuYW1lOiBTdHJpbmcsCiAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6IFN0cmluZywKICAgICAgICAgICAgICAgICAgICAgcGhvbmVObzogU3RyaW5nCiAgICAgICAgICAgICAgICAgICApCgpjYXNlIGNsYXNzIFBlcnNvbiAoCgluYW1lOiBTdHJpbmcsCglhZGRyZXNzOiBTdHJpbmcKCSk=