[v3] Implement new Concept Exercise: initialization
- 主要语言
- Swift
- 星标
- 122
- 派生
- 165
- PR 合并指标
- 30 天内没有已合并 PR
描述
This issue describes how to implement the initialization concept exercise for the Swift 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 the following documents:
- [The features of v3][docs-features-of-v3].
- [Rationale for v3][docs-rationale-for-v3].
- [What are concept exercises and how are they structured?][docs-concept-exercises]
Please also watch the following video:
- [The Anatomy of a Concept Exercise][anatomy-of-a-concept-exercise].
## Goal
This concept exercise should convey a basic understanding of how to perform initialization of structs, classes, and enumerations in Swift.
## Things to teach
- Default property values
- Custom initializers
- Default initializers
- Initialization using a closure or function
## Things not to teach
- Failable initializers
- Delegated initializers
- Convenience initializers
- Required initializers
## Concepts
- `initialization`
## Prerequisites
- `structs-and-classes`
- `enumerations`
## Resources to refer to
### Hints
- [Setting initial values][initial-values]
- [Custom initializers][customizing-initialization]
- [Default initializers][default-initializers]
- [Initializing using closures][initializing-via-closure]
### After
- [Setting initial values][initial-values]
- [Custom initializers][customizing-initialization]
- [Default initializers][default-initializers]
- [Initializing using closures][initializing-via-closure]
## Representer
TBD
## Analyzer
TBD
## Implementing
See [the Swift track implementation guide][swift-implementing-concept-exercises] for guidance.
## Help
If you have any questions while implementing the exercise, please post the questions as comments in this issue.
[swift-implementing-concept-exercises]: https://github.com/wneumann/v3/blob/master/languages/swift/reference/implementing-a-concept-exercise.md
[initial-values]: https://docs.swift.org/swift-book/LanguageGuide/Initialization.html#ID204
[customizing-initialization]: https://docs.swift.org/swift-book/LanguageGuide/Initialization.html#ID207
[default-initializers]: https://docs.swift.org/swift-book/LanguageGuide/Initialization.html#ID213
[initializing-via-closure]: https://docs.swift.org/swift-book/LanguageGuide/Initialization.html#ID232
[docs-concept-exercises]: ../../../docs/concept-exercises.md
[docs-rationale-for-v3]: ../../../docs/rationale-for-v3.md
[docs-features-of-v3]: ../../../docs/features-of-v3.md
[anatomy-of-a-concept-exercise]: https://www.youtube.com/watch?v=gkbBqd7hPrA
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。