Haskell в одну сторону `dupTChan`

Есть ли такая функция, как эта. Кроме того, когда вы делаете:

newChan = dupTChanOneWay oldChan

Все, что написано oldChan написано newChanа не наоборот?

1 ответ

Я действительно думаю, что это возможно без потока маршрутизации. Это не совсем запрашиваемая структура данных - фактический TChan - но она дает структуру, которую вы можете прочитать из "двух источников", но в которую вы можете писать исключительно.

Понятие простое. Просто скопируйте ваш первоначальный TChan. Теперь также создайте новый, свежий TChan. Теперь вы можете читать из Dup'd Chan orElse новый канал - это дает вам выходной канал, который эффективно объединяет два ваших входных канала. Теперь запись в начальный канал записывает в оба канала, а запись в новый канал - исключительно в ваш новый объединенный "канал".

Другие вопросы по тегам