v0.2.17
This commit is contained in:
@@ -158,7 +158,82 @@ Vector<T>
|
||||
ResizableList<T>
|
||||
```
|
||||
|
||||
### Exemple 18
|
||||
### Exemple 18 — `Iterator<T>`
|
||||
|
||||
```text
|
||||
interface Iterable<T> {
|
||||
const method iterator() -> Iterator<T>;
|
||||
}
|
||||
|
||||
interface Iterator<T> {
|
||||
method next() -> Option<T>;
|
||||
}
|
||||
```
|
||||
|
||||
### Exemple 19 — `View<T>`
|
||||
|
||||
```text
|
||||
interface View<T> extends Iterable<T> {
|
||||
const method count() -> uint64;
|
||||
const method isEmpty() -> bool;
|
||||
}
|
||||
```
|
||||
|
||||
`View<T>` n'impose pas `contains()`.
|
||||
|
||||
### Exemple 20 — Set
|
||||
|
||||
```text
|
||||
ResizableSet<T>::add(T value) -> bool
|
||||
ResizableSet<T>::remove(const T value) -> bool
|
||||
ResizableSet<T>::clear() -> uint64
|
||||
```
|
||||
|
||||
### Exemple 21 — Map
|
||||
|
||||
```text
|
||||
map[key] -> V // strict
|
||||
map::get(key) -> Option<V> // conditionnel
|
||||
map[key] = value // remplacement seulement
|
||||
map::insert(key, value) // clé nouvelle, DuplicateKeyFault sinon
|
||||
map::remove(key) // clé existante, KeyNotFoundFault sinon
|
||||
map::clear() -> uint64
|
||||
```
|
||||
|
||||
### Exemple 22 — Vues de Map
|
||||
|
||||
```text
|
||||
map::keys() -> View<K>
|
||||
map::values() -> View<V>
|
||||
map::entries() -> View<MapEntry<K,V>>
|
||||
```
|
||||
|
||||
### Exemple 23 — Ordre
|
||||
|
||||
```text
|
||||
enum Ordering {
|
||||
Less,
|
||||
Equal,
|
||||
Greater
|
||||
}
|
||||
|
||||
Comparable<T>
|
||||
Comparator<T>
|
||||
SortedSet<T>
|
||||
SortedMap<K,V>
|
||||
```
|
||||
|
||||
### Exemple 24 — Factories ordonnées
|
||||
|
||||
```text
|
||||
TreeSet<T>::natural()
|
||||
TreeSet<T>::withComparator(comparator)
|
||||
|
||||
TreeMap<K,V>::natural()
|
||||
TreeMap<K,V>::withComparator(comparator)
|
||||
```
|
||||
|
||||
## Exemples Range
|
||||
|
||||
```text
|
||||
a..b [a, b] bornes basse et haute incluses
|
||||
@@ -167,13 +242,13 @@ a..<b [a, b) borne basse incluse, borne haute exclue
|
||||
a>..<b (a, b) bornes basse et haute exclues
|
||||
```
|
||||
|
||||
### Exemple 19
|
||||
### Range 1
|
||||
|
||||
```text
|
||||
Range<uint64> ids = 1..100;
|
||||
```
|
||||
|
||||
### Exemple 20
|
||||
### Range 2
|
||||
|
||||
```text
|
||||
NaN interdit comme borne
|
||||
@@ -182,7 +257,7 @@ NaN interdit comme borne
|
||||
valeur finie autorisée
|
||||
```
|
||||
|
||||
### Exemple 21
|
||||
### Range 3
|
||||
|
||||
```text
|
||||
a..a contient exactement a
|
||||
@@ -191,7 +266,7 @@ a..<a vide
|
||||
a>..<a vide
|
||||
```
|
||||
|
||||
### Exemple 22
|
||||
### Range 4
|
||||
|
||||
```text
|
||||
range::lower()
|
||||
@@ -202,7 +277,7 @@ range::isEmpty()
|
||||
range::contains(value)
|
||||
```
|
||||
|
||||
### Exemple 23
|
||||
### Range 5
|
||||
|
||||
```text
|
||||
Range<T> intervalle ordonné
|
||||
@@ -213,13 +288,13 @@ RangeReverseStep<T,Step> parcours arrière avec pas explicite
|
||||
RangeProgression<T,Step> valeur de progression produite
|
||||
```
|
||||
|
||||
### Exemple 24
|
||||
### Range 6
|
||||
|
||||
```text
|
||||
(range)::step(step)
|
||||
```
|
||||
|
||||
### Exemple 25
|
||||
### Range 7
|
||||
|
||||
```text
|
||||
RangeStep<int32,int32>
|
||||
@@ -228,14 +303,14 @@ RangeStep<char,uint32>
|
||||
RangeStep<Date,Duration>
|
||||
```
|
||||
|
||||
### Exemple 26
|
||||
### Range 8
|
||||
|
||||
```text
|
||||
(range)::reverse()
|
||||
(range)::reverse()::step(step)
|
||||
```
|
||||
|
||||
### Exemple 27
|
||||
### Range 9
|
||||
|
||||
```text
|
||||
range
|
||||
@@ -243,25 +318,25 @@ range
|
||||
[::step(step)]
|
||||
```
|
||||
|
||||
### Exemple 28
|
||||
### Range 10
|
||||
|
||||
```text
|
||||
(250u8..255u8)::step(2u8)
|
||||
```
|
||||
|
||||
### Exemple 29
|
||||
### Range 11
|
||||
|
||||
```text
|
||||
250 252 254
|
||||
```
|
||||
|
||||
### Exemple 30
|
||||
### Range 12
|
||||
|
||||
```text
|
||||
(1..10)::step(4)
|
||||
```
|
||||
|
||||
### Exemple 31
|
||||
### Range 13
|
||||
|
||||
```text
|
||||
1 5 9
|
||||
@@ -269,4 +344,4 @@ range
|
||||
|
||||
## DO / DON'T / WHY / compiler error / edge cases
|
||||
|
||||
À consolider progressivement avant la baseline publique V3 et à transformer, lorsque pertinent, en tests de conformité de la toolchain.
|
||||
À consolider progressivement avant la baseline publique V3 et à transformer, lorsque pertinent, en tests de conformité de la toolchain.
|
||||
Reference in New Issue
Block a user