a-synchronous / a-synchronous/rubico

rubico/monad/Queue

Offen
#147 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement good first issue help wanted
Vorherrschende Sprache
JavaScript
Sterne
283
Forks
17
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Queue
the queue data structure

## synopsis
```coffeescript
new Queue(values Iterable|any) -> Queue {
map: function,
concat: function,
chain: function,
enqueue: function,
dequeue: function,
peek: function,
}
```

## description
A **Queue** is a data structure that supports `enqueue` and `dequeue` operations in O(1) time as well as monadic operations that enable iteration, concatenation, and flattening. Items pushed into a queue are first in first out (FIFO).

```javascript [playground]
const myQueue = new Queue([1, 2, 3])

console.log(myQueue) // Queue [3, 2, 1]

myQueue.enqueue(4)
myQueue.enqueue(5)
myQueue.enqueue(6)

console.log(myQueue) // Queue [6, 5, 4, 3, 2, 1]

console.log(myQueue.dequeue()) // 1
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Suche im Codebestand nach dem Modul monad/Queue, wahrscheinlich in einem Verzeichnis namens 'monad'. Das Issue gibt die Implementierung einer Queue-Datenstruktur mit enqueue, dequeue, peek und monadischen Operationen (map, concat, chain) vor. Untersuche zunächst vorhandene monadische Implementierungen (wie Maybe, Either), um das Muster zu verstehen. Schreibe Tests, um O(1)-Operationen und FIFO-Verhalten zu überprüfen. Fertig ist die Aufgabe, wenn die Queue-Klasse der Synopsis entspricht und alle Tests besteht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
coffeescript, javascript
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.