# Concise multiple do-block

**URL:** <https://discourse.julialang.org/t/concise-multiple-do-block/7736>\
**Category:** General Usage\
**Created:** [December 13, 2017, 12:21pm UTC](https://discourse.julialang.org/t/concise-multiple-do-block/7736 "2017-12-13T12:21:13Z")\
**Posts on this page:** 1\
**Showing post:** 6

<div class="post-metadata">

**Author:** ![davidavdav](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidavdav/32/1065_2.png) [@davidavdav](https://discourse.julialang.org/u/davidavdav)\
**Post date:** [December 14, 2017, 11:18am UTC](https://discourse.julialang.org/t/concise-multiple-do-block/7736/6 "2017-12-14T11:18:13Z")

</div>

Ah, yes, I remember this discussion from a while ago now. Has anyone picked up implementing the `()!` construct?

In [another thread](https://discourse.julialang.org/t/strange-interaction-between-channel-and-pipes/7623/8) I am busy with trying to figure out how to make a python-style generator that produces `IO` objects. The idea would be that the generator creates and opens the `IO`, and the caller/consumer uses the object until the next item. Then when the caller is done with the object, the GC should come in and trigger a `close()` on the `IO` object. (If this would be the mechanism, the GC should probably also be triggered by a low-on-filedescriptors event).

---

_[View the full topic](https://discourse.julialang.org/t/concise-multiple-do-block/7736)._
