blob: 1b136ddf74b9098b178899aeba65bddd63e1f998 [file] [log] [blame]
Roman Elizarovf16fd272017-02-07 11:26:00 +03001/*
Roman Elizarov1f74a2d2018-06-29 19:19:45 +03002 * Copyright 2016-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
Roman Elizarovf16fd272017-02-07 11:26:00 +03003 */
4
Roman Elizarovb7721cf2017-02-03 19:23:08 +03005// This file was automatically generated from coroutines-guide.md by Knit tool. Do not edit.
Roman Elizarova9687a32018-06-29 17:28:38 +03006package kotlinx.coroutines.experimental.guide.channel03
Roman Elizarovb7721cf2017-02-03 19:23:08 +03007
Roman Elizarov96695782017-10-01 10:48:15 -07008import kotlinx.coroutines.experimental.*
9import kotlinx.coroutines.experimental.channels.*
Roman Elizarovb7721cf2017-02-03 19:23:08 +030010
Roman Elizarov66f018c2017-09-29 21:39:03 +030011fun produceSquares() = produce<Int> {
Roman Elizarovb7721cf2017-02-03 19:23:08 +030012 for (x in 1..5) send(x * x)
13}
14
15fun main(args: Array<String>) = runBlocking<Unit> {
16 val squares = produceSquares()
Roman Elizarov86349be2017-03-17 16:47:37 +030017 squares.consumeEach { println(it) }
Roman Elizarovb7721cf2017-02-03 19:23:08 +030018 println("Done!")
19}