How can I directly reffer literal element itself inside [] slice?
Marcone
marcone at email.com
Mon Jan 11 15:47:41 UTC 2021
I am using it:
// Tipo Nulo.
class None {}
// Função slice()
auto slice(T1, T2, T3 = None)(T1 conteudo, T2 inicio, T3 fim =
T3.init) {
int start, end, startlen;
static if (is(T2 == int)) {inicio = inicio < 0 ? conteudo.length
+ inicio : inicio;}
static if (is(T3 == int)) {fim = fim <= 0 ? conteudo.length +
fim : fim;}
static if (is(T2 == int)) {start = inicio;} else static if
(is(T2 == string)){start = conteudo.countUntil(inicio);}
static if (is(T2 == string)) {static if (is(T1 ==
string)){startlen = start + inicio.length + 1;} else {startlen =
start + 1;}}
static if (is(T3 == int)) {end = fim;} else static if (is(T3 ==
string)){end = startlen + conteudo[startlen..$].countUntil(fim);}
static if (is(T3 == None)) {return conteudo[start];} else
{return conteudo[start..end];}
}
More information about the Digitalmars-d-learn
mailing list