Hi,

I thought a mixin template is copied into the place where the mixin statement
exists and then the coding is evaluated.
This seems not to be true for __FILE__

I have a module form, which has a class Form. This module also contains
following mixin template

mixin template formTemplate()
{
        void generateForm()
        {
                string getFormName(string file =  __FILE__)()
                {
                        import std.string: indexOf;
                        return file[0..file.indexOf(".")]~".frm";
                }

                enum fileContent = import(getFormName());
        }
}

In another module myform I have a class MyForm in which I call the mixin statement:
mixin formTemplate.

The purpose of the template coding is: The enum fileContent should contain the text of a file, which has the same name as the module but the file ending .frm.

I tried different things, but either it doesn't compile or __FILE__ returns "form"
instead of "myform".

Is this behavior correct? Do you have any tip?

Kind regards
André



Reply via email to