[v3] Implement new Concept Exercise: Character types
- 主要语言
- Clojure
- 星标
- 176
- 派生
- 159
- PR 合并指标
- 30 天内没有已合并 PR
描述
This issue describes how to implement the `Character types` 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)
## Goal
The goal of this exercise is to teach the student how character types are implemented in Clojure. According to the [official guide](https://clojure.org/guides/learn/syntax) this includes 3 main types: _strings_, _characters_ and _regular expressions_.
## Things to teach
This exercise aims to teach the student:
- Clojure strings are Java strings - eg. they are _immutable_
- Contained in double quotes
- Individual characters represented w/ leading backslash `\`
- Special characters (\newline \spec \tab, etc.)
- Unicode characters (\uNNNN or in octal with \oNNN)
- Literal regex syntax - `#"[0-9]+"`
## Things not to teach
Things outside the scope of this exercise are:
- Advanced regex usage
## Concepts
This exercise teaches the following concepts:
- `char`
- `string`
- `regular_expression`
## Prerequisites
This is a base-level concept and likewise only assumes general knowledge of English letters.
## Resources to refer to
### Hints
- [Syntax guide](https://clojure.org/guides/learn/syntax)
### After
- [java.util.regex.pattern](https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
- [Clojure reference](https://clojure.org/reference/reader)
- [Java escape sequences](https://docs.oracle.com/javase/tutorial/java/data/characters.html)
## Representer
This exercise does not require any modifications to the track's representer.
## Analyzer
This exercise does not require any special analysis to be added for it.
## 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.
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。