Sha256: 6690dc82c043e9df7db6e1cdb4bb49524ac016db2db55490cb2b9ef225b8f6da

Contents?: true

Size: 458 Bytes

Versions: 134

Compression:

Stored size: 458 Bytes

Contents

module Allergies

open System

type Allergen = 
   | Eggs = 1
   | Peanuts = 2
   | Shellfish = 4
   | Strawberries = 8
   | Tomatoes = 16
   | Chocolate = 32
   | Pollen = 64
   | Cats = 128

let allergicTo (codedAllergies: int) (allergen: Allergen) = codedAllergies &&& int allergen <> 0

let list (codedAllergies: int) = 
    Enum.GetValues(typeof<Allergen>) 
    |> Seq.cast<Allergen> 
    |> List.ofSeq 
    |> List.filter (allergicTo codedAllergies)

Version data entries

134 entries across 134 versions & 1 rubygems

Version Path
trackler-2.2.1.58 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.57 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.56 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.55 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.54 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.53 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.52 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.51 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.50 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.49 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.48 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.47 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.46 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.45 tracks/fsharp/exercises/allergies/Example.fs