Skip to content

Instantly share code, notes, and snippets.

View beranradek's full-sized avatar

Radek Beran beranradek

View GitHub Profile
/**
* Dumps (possibly large) database table to SQL file or more files
* according to MaxRecordsPerFile parameter.
* @author Radek Beran
*/
import java.io._
import java.sql._
// --- SCRIPT PARAMETERS ---
val DriverName = "com.mysql.jdbc.Driver"
val parSeq: ParSeq[Int] = List(3, 4, 5).par
// Posčítání cen automobilů, jejichž výrobcem je Porsche:
case class CarModel(carMaker: CarMaker.Value, name: String, price: Option[Int])
val models: List[CarModel] = List(...)
models.view.filter(_.carMaker == CarMaker.Porsche).map(_.price.getOrElse(0)).sum
val parSeq: ParSeq[Int] = List(3, 4, 5).par
(for {
m <- models.view // vytvoří non-strict view pamatující si lazy vykonávané operace
if m.carMaker == CarMaker.Porsche
price <- m.price // transformace na kolekci obsahující ceny
} yield price).sum
// Posčítání cen automobilů, jejichž výrobcem je Porsche:
case class CarModel(carMaker: CarMaker.Value, name: String,
price: Option[Int])
val models: List[CarModel] = ...
models.view.filter(_.carMaker == CarMaker.Porsche).map(
_.price.getOrElse(0)).sum
(for {
m <- models.view // non-strict view pamatující si vykonávané operace
if m.carMaker == CarMaker.Porsche
price <- m.price // transformace na kolekci obsahující ceny
} yield price).sum
case class Person(name: String, age: Int, programmer: Boolean)
abstract class Person(name: String, birthDate: java.util.Date)
// nevhodny mutable typ java.util.Date
case class Man(var name: String, birthDate: java.util.Date,
impertinent: Boolean) extends Person(name, birthDate)
case class Woman(private val name: String, birthDate: java.util.Date,
quarrelsome: Boolean) extends Person(name, birthDate)
class XMan(name: String, birthDate: java.util.Date, impertinent: Boolean,
ability: String) extends Man(name, birthDate, impertinent)
val birthDate = new java.util.Date()
//> birthDate : java.util.Date = Sat Mar 16 19:55:08 CET 2013
val man = Man("Johnny", birthDate, true)
//> man : app.Man = Man(Johnny,Sat Mar 16 19:55:08 CET 2013, true)
val woman = Woman("Jessica", birthDate, true)
//> woman : obj.Woman = Woman(Jessica,Sat Mar 16 19:55:08 CET 2013,true)
println(woman) // vola toString()
//> Woman(Jessica,Sat Mar 16 19:55:08 CET 2013,true)
println(Woman("Jessica", birthDate, true) == Woman("Jessica", birthDate, true))
// vola equals