UNPKG

@designliquido/delegua

Version:

Linguagem de programação simples e moderna usando português estruturado.

38 lines 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AcessoIntervaloVariavel = void 0; /** * Construto para acesso de intervalos (fatiamento/slicing) em vetores. * Ex: vetor[1:4], vetor[1:4:2], vetor[1:], vetor[:3] ou vetor[:] */ class AcessoIntervaloVariavel { constructor(hashArquivo, entidadeChamada, indiceInicio, indiceFim, indicePasso, simboloFechamento, tipo = 'qualquer') { this.tipo = 'qualquer'; this.linha = entidadeChamada.linha; this.hashArquivo = hashArquivo; this.entidadeChamada = entidadeChamada; this.indiceInicio = indiceInicio; this.indiceFim = indiceFim; this.indicePasso = indicePasso; this.simboloFechamento = simboloFechamento; this.tipo = tipo; } async aceitar(visitante) { return await visitante.visitarExpressaoAcessoIntervaloVariavel(this); } paraTexto() { const inicio = this.indiceInicio ? this.indiceInicio.paraTexto() : '(sem início)'; const fim = this.indiceFim ? this.indiceFim.paraTexto() : '(sem fim)'; const passo = this.indicePasso ? this.indicePasso.paraTexto() : '(sem passo)'; return (`<acesso-índice-variável entidadeChamada=${this.entidadeChamada.paraTexto()} ` + `inicio=${inicio} ` + `fim=${fim}` + `passo=${passo}` + `/>`); } paraTextoSaida() { throw new Error('Método não implementado.'); } } exports.AcessoIntervaloVariavel = AcessoIntervaloVariavel; //# sourceMappingURL=acesso-intervalo-variavel.js.map