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.159 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.158 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.157 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.156 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.155 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.154 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.153 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.152 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.151 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.150 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.149 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.148 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.147 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.146 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.145 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.144 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.143 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.142 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.141 tracks/elm/exercises/allergies/Allergies.example.elm
trackler-2.2.1.140 tracks/elm/exercises/allergies/Allergies.example.elm