Sha256: da4fe98df175e5c46530ea01318d36f40c4bc5c2b04abac0475df07bb91237fe

Contents?: true

Size: 653 Bytes

Versions: 148

Compression:

Stored size: 653 Bytes

Contents

import Allergen.Allergen

object Allergies {
  private lazy val allergenList = Allergen.values

  def allergicTo(allergen: Allergen, score: Int): Boolean =
    (allergen.id & score) != 0

  def list(score: Int): List[Allergen] =
    allergenList.filter(a => allergicTo(a, score)).toList
}

object Allergen extends Enumeration {
  type Allergen = Value

  val Eggs = Value(1, "Eggs")
  val Peanuts = Value(2, "Peanuts")
  val Shellfish = Value(4, "Shellfish")
  val Strawberries = Value(8, "Strawberries")
  val Tomatoes = Value(16, "Tomatoes")
  val Chocolate = Value(32, "Chocolate")
  val Pollen = Value(64, "Pollen")
  val Cats = Value(128, "Cats")
}

Version data entries

148 entries across 148 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.179 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.178 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.177 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.176 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.175 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.174 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.173 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.172 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.171 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.170 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.169 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.167 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.166 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.165 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.164 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.163 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.162 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.161 tracks/scala/exercises/allergies/example.scala
trackler-2.2.1.160 tracks/scala/exercises/allergies/example.scala