[v3] Implement new Concept Exercise: `multi-arity functions`
- Lingua principale
- Clojure
- Stelle
- 176
- Fork
- 159
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
This issue describes how to implement the `multi-arity functions` concept exercise for the Clojure 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:
- [The features of v3](https://github.com/exercism/v3/blob/master/docs/concept-exercises.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/features-of-v3.md)
Please also watch the following video:
- [The Anatomy of a Concept Exercise](https://www.youtube.com/watch?v=gkbBqd7hPrA).
## Goal
The goal of this exercise is to teach the student how multi-arity functions are implemented in Clojure.
## Learning objectives
After completing this exercise the student will:
- Know how to define functions taking different numbers of parameters (arities)
- How to invoke them
- Creating a default value by having one arity call another
## Out of scope
- Variadic functions
- Polymorphism
## Concepts
- `functions`
- `default-arguments`
- `evaluation`
- `multiple-dispatch`
- `return-values`
## Prerequisites
- `basic-functions`
- `repl`
- `lists`
## Resources to refer to
### Hints
- [Clojure guide - functions](https://clojure.org/guides/learn/functions)
### After
- [Clojure reference - evaluation](https://clojure.org/reference/evaluation)
## Representer
This exercise does not require any modifications to the track's representer.
## Analyzer
This exercise does not require any modifications to the analyzer.
## Implementing
To implement a concept exercise, the following files must be created:
```
languages
└── clojure
└── exercises
└── concept
└──
├── .docs
| ├── instructions.md
| ├── introduction.md
| ├── hints.md
| └── after.md (optional)
├── .meta
| |── design.md
| └── Example.clj
├── .clj
└── _test.clj
```
## Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Valutazione
Questa issue non è ancora stata valutata.