Sha256: 780a0a5be9662053b911802f6a0be67ab0d09e1ed9deb726b3a1cbf09d8f23ae

Contents?: true

Size: 575 Bytes

Versions: 66

Compression:

Stored size: 575 Bytes

Contents

module Allergies exposing (isAllergicTo, toList)

import Bitwise
import List


isAllergicTo : String -> Int -> Bool
isAllergicTo name score =
    List.member name (toList score)


toList : Int -> List String
toList score =
    allergies
        |> List.indexedMap (\i n -> ( Bitwise.shiftLeftBy i 1, n ))
        |> List.filter (\( s, n ) -> Bitwise.and s score > 0)
        |> List.map Tuple.second


allergies : List String
allergies =
    [ "eggs"
    , "peanuts"
    , "shellfish"
    , "strawberries"
    , "tomatoes"
    , "chocolate"
    , "pollen"
    , "cats"
    ]

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
trackler-2.2.1.139 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.138 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.137 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.136 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.135 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.134 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.133 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.132 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.131 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.130 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.129 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.128 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.127 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.126 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.125 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.124 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.123 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.122 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.121 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.120 tracks/elm/exercises/allergies/Allergies.example.elm