Skip to content

Instantly share code, notes, and snippets.

@avii-7
Created September 23, 2024 17:45
Show Gist options
  • Save avii-7/bc03d954e758e81be7760eafb192ddd2 to your computer and use it in GitHub Desktop.
Save avii-7/bc03d954e758e81be7760eafb192ddd2 to your computer and use it in GitHub Desktop.
Print Series
func execute() {
let numberChannel = AsyncChannel<Void>()
let alphabetsChannel = AsyncChannel<Void>()
Task {
var iterator = (1...10).makeIterator()
for await _ in numberChannel {
if let number = iterator.next() {
print(number, terminator: " ")
await alphabetsChannel.send(())
}
else {
numberChannel.finish()
alphabetsChannel.finish()
}
}
}
Task {
var iterator = (0...10).makeIterator()
await numberChannel.send(())
for await _ in alphabetsChannel {
if let number = iterator.next() {
let letter = Character(UnicodeScalar(65 + number)!)
print(letter, terminator: " ")
await numberChannel.send(())
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment