On Wednesday, 18 June 2014 at 20:55:36 UTC, cym13 wrote:
Hello,

I see a lot of functions and other stuff with a '!' in the name
such as 'bitfields!' or 'ctRegex!'. What does it mean exactly? In
scheme, we use such a convention to warn that a function is not
pure, but I don't see the point of using it that way in D as
there are other way to express it.

Moreover, I'm looking for a style guide of D, something like the
PEP8 for python. Is there anything like that?

Thanks!

The ! specifies that a template argument list follows.

auto fun(T)(T a, T b) { return a * b; }

void main()
{
    // fun can be called using several different ways:
    fun!(int)(1, 2); // Specifying the template arguments
    fun!int(1, 2);   // If there is only one template argument the
                     // parens can be omitted
fun(1, 2); // IFTI can be used to figure out the types for you
}

There is a style guide on the website: http://dlang.org/dstyle.html

Personally I just consider this a Phobos contributor style guide and not like a PEP8 style guideline.

Reply via email to