Haskell в одну сторону `dupTChan`
Есть ли такая функция, как эта. Кроме того, когда вы делаете:
newChan = dupTChanOneWay oldChan
Все, что написано oldChan
написано newChan
а не наоборот?
1 ответ
Я действительно думаю, что это возможно без потока маршрутизации. Это не совсем запрашиваемая структура данных - фактический TChan - но она дает структуру, которую вы можете прочитать из "двух источников", но в которую вы можете писать исключительно.
Понятие простое. Просто скопируйте ваш первоначальный TChan. Теперь также создайте новый, свежий TChan. Теперь вы можете читать из Dup'd Chan orElse
новый канал - это дает вам выходной канал, который эффективно объединяет два ваших входных канала. Теперь запись в начальный канал записывает в оба канала, а запись в новый канал - исключительно в ваш новый объединенный "канал".