Implement new Concept Exercise: `dynamic-dispatch`
- Lingua principale
- Elixir
- Stelle
- 664
- Fork
- 416
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## 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:
- [The features of v3](https://github.com/exercism/v3/blob/master/docs/features-of-v3.md).
- [Rationale for v3](https://github.com/exercism/v3/blob/master/docs/rationale-for-v3.md).
- [What are concept exercise and how they are structured?](https://github.com/exercism/v3/blob/master/docs/concept-exercises.md)
## Goal
The goal of this exercise is to replace `rpn-calculator-output` as the exercise that teaches dynamic dispatch (https://elixir-lang.org/getting-started/typespecs-and-behaviours.html#dynamic-dispatch). `rpn-calculator-output` should be modified to depend on `dynamic-dispatch` instead of teaching it. Make sure to reuse part of that exercise's introduction.
## Learning objectives
- Know that you module names are just atoms
- Know that you can call a function on a module even if its stored in a variable
- `apply`
- Know how to concatenate module names? e.g. https://hexdocs.pm/elixir/Module.html#safe_concat/1
## Out of scope
?
## Concepts
- `dynamic-dispatch`
## Prerequisites
Depends on the story.
## Exercises
Add `dynamic-dispatch` as a prerequisite of `forth`.
## Resources to refer to
https://elixir-lang.org/getting-started/typespecs-and-behaviours.html#dynamic-dispatch
## Implementing
Since dynamic dispatch depends on the existence of a few modules with the same function, we might want to provide that in the boilerplate instead of having the student implement those too.
## Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.