On Wednesday, 27 September 2017 at 14:23:01 UTC, Ky-Anh Huynh wrote:
Hi,

I am from Ruby world where I can have `!` (or `?`) in method names: `!` indicates that a method would modify its object (`foo.upcase!` means `foo = foo.upcase`). ( I don't know if there is any official Ruby documentation on this convention though. )

In D I see `!` quite a lot. I have read the first 50 chapters in Ali's book but nowhere I see a note on `!`. It's about the compile thing, isn't it? E.g,

```
foo = formattedRead!"%s"(value);
```

But I also see `!` for some map/filter invocations. It's quite confusing me.

Can you please explain and give any link where I can learn more about these things?

Thanks a lot.

See also the following chapter in Ali's book:
http://ddili.org/ders/d.en/templates.html

Reply via email to