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.78 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.77 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.76 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.75 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.74 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.73 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.72 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.71 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.70 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.69 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.68 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.67 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.66 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.65 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.64 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.63 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.62 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.61 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.60 tracks/fsharp/exercises/allergies/Example.fs
trackler-2.2.1.59 tracks/fsharp/exercises/allergies/Example.fs