fsharp
fsharp copied to clipboard
Implement new Concept Exercise: chars
This issue describes how to implement the chars concept exercise for the F# track.
Getting started
Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism's maintainers' time. So, before diving into the implementation, please read up on the following documents:
Please also watch the following video:
Goal
The goal of this exercise is to teach the student the basics of the Concept of Chars in F#. We'll also use this exercise to introduce for..in loops and a mutable binding.
Learning objectives
- Know of the existence of the
chartype. - Know what a char represents (a Unicode character).
- Know that chars are immutable.
- Know how to define a char.
- Know how to access a char in a string by index.
- Know of some basic char methods (like converting to uppercase).
- Know how to convert an integer to a character and vice versa.
Out of scope
- Converting a string to a char array.
Concepts
The Concepts this exercise unlocks are:
chars: know of the existence of thechartype; know what a char represents (a Unicode character); know that chars are immutable; know how to define a char; know how to access a char in a string by index; know of some basic char methods (like converting to uppercase); know how to convert an integer to a character and vice versa.
Prerequisites
This exercise's prerequisites Concepts are:
strings: know about working with strings.
Resources to refer to
Hints
- Char methods: lists the available methods on the
Charclass.
Once a reference document has been written on the subject of chars in F# (see section 11), it should be added too.
After
- Char methods: lists the available methods on the
Charclass.
Once a reference document has been written on the subject of chars in F# (see section 11), it should be added too.
Representer
This exercise does not require any specific representation logic to be added to the representer.
Analyzer
This exercise does not require any specific logic to be added to the analyzer.
Implementing
To implement this exercise, please follow these instructions.
Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.