Created
September 6, 2016 02:53
-
-
Save OnesimusUnbound/8efa190c7e52be764181ef691177c43f to your computer and use it in GitHub Desktop.
F# Practice Sets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type Grade = A | B | C | D | E | F | InvalidGrade | |
let (|MoreThan|_|) grade value = | |
if value > grade then Some MoreThan else None | |
let (|LessThan|_|) grade value = | |
if value < grade then Some LessThan else None | |
let (|Between|_|) uppergrade lowergrade value = | |
if uppergrade >= value && value >= lowergrade then Some Between else None | |
let getGrade grade = | |
match grade with | |
| MoreThan 98 -> A | |
| Between 98 95 -> B | |
| Between 94 90 -> C | |
| Between 89 80 -> D | |
| Between 79 75 -> E | |
| LessThan 75 -> F | |
| _ -> InvalidGrade |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment