Implement new Concept Exercise: string-formatting
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- fsharp
- Domain
- content
Research direction
Read the linked v3 concept-exercise documentation and the F# implementing instructions first. Then inspect the existing concept exercise example under languages/fsharp/exercises/concept/numbers, including its .meta/design.md and .meta/config.json, and check the implemented-exercises list in the concept README. Done means the string-formatting exercise follows that structure and covers the stated learning objectives and prerequisites.
Written by the indexing model from the issue text.
Description
This issue describes how to implement the string-formatting 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 Integral Numbers in F#.
Learning objectives
- Know how to use the
ToString()method to convert any object to astring. - Know how to use printf formatting on values of any type.
- Know what the benefit of printf formatting is over string concatenation.
- Know how to use default format strings to convert to standard output formats.
- Know how to use custom format strings to convert to custom output formats.
- Know how to combine strings using functions in the
Stringmodule. - Know of the
StringBuildertype and when to use it.
Out of scope
Nothing.
Concepts
This Concepts Exercise's Concepts are:
string-formatting: know how to use theToString()method to convert any object to astring; know how to use printf formatting on values of any type; know what the benefit of printf formatting is over string concatenation; know how to use default format strings to convert to standard output formats; know how to use custom format strings to convert to custom output formats; know how to combine strings using functions in theStringmodule; know of theStringBuildertype and when to use it.
Prequisites
This Concept Exercise's prerequisites Concepts are:
strings: strings will be formatted.inheritance: knowing that each class derives fromobjectand thus has built-in methods.
Any data types used in this exercise (e.g. datetimes) should also be added as prerequisites.
Hints
Stringmodule: theStringmodule.- Formatting text: shows how to use the printf-family functions to format text.
The following links all use C# as their language, but are equally valid for F#:
- Formatting types: the available format types to use.
- Standard numeric format strings: lists the standard numeric format strings.
- Custom numeric format strings: describes how to define custom numeric format strings.
- Standard date and time format strings: lists the standard date and time format strings.
- Custom date and time format strings: describes how to define custom date and time format strings.
- String builder: shows how to use the string builder.
After
Stringmodule: theStringmodule.- Formatting text: shows how to use the printf-family functions to format text.
The following links all use C# as their language, but are equally valid for F#:
- Formatting types: the available format types to use.
- Standard numeric format strings: lists the standard numeric format strings.
- Custom numeric format strings: describes how to define custom numeric format strings.
- Standard date and time format strings: lists the standard date and time format strings.
- Custom date and time format strings: describes how to define custom date and time format strings.
- String builder: shows how to use the string builder.
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.
- Dominant language
- F#
- Stars
- 118
- Forks
- 113
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 2
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from exercism/fsharp
-
Difficulty 4/5 3-5 days Newbie friendliness 42/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
-
Difficulty 5/5 Over a week Newbie friendliness 18/100
-
exercism/fsharp#1173 · 1 comment · 2 reactions · 1 assignee ·
Similar issues
-
curation good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
amponce/archive-movie-browser#186 ·
-
Link Checker Report Openautomated issue report
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Ecosystem: ClawMetry — the Qwen Code reader is now free and open source (follow-up to #9294 / #9338) Opencategory/integration priority/P3 scope/documentation status/ready-for-human type/feature-request
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
TheOdinProject/curriculum#31408 ·