Saaa wrote:
I did get it to compile at one time, but didn't know how to use it,
like your code..
index( array, index2);  //compiles and all, but how do I set the value?
index( array, index2) = -1; // doesn't work

If you're using d2, add 'ref' to the return type.

Otherwise, you need indexAssign:

void indexAssign(TArray : TArray[])(TArray array, BaseType!(TArray) value, int[] indices...)
{
        static if (is (typeof (array[0]) == typeof(value))
        {
                array[indices[0]] = value;
        }
        else
        {
                indexAssign(array[indices[0]], value, indices[1..$]);
        }
}

Also, why the ... ?

In case you know the number of indices ahead of time. It costs nothing and lets you use a more natural syntax some of the time.

Reply via email to