Looplex Knowledge Base

Set

O tube set é aplicado apenas sobre vetores. O set adiciona um elemento ao default em uma posição específica do vetor.

O tube set se diferencia to tube add, que também adiciona elementos a vetores, pois com o uso do set, a opção vai pra tela e pode ser editada pelo usuário.

Formato:

|vect|.set(index, valor)

Parâmetros:

  • vect: Vetor ao qual será adicionado o elemento
  • index: Índice do vetor em que será inserido o novo elemento. É um número inteiro entre 0 e n - 1. Lembre-se que a indexação começa a contar a partir do 0. O elemento de índice 0 é o primeiro elemento do vetor, 1 é o segundo e assim por diante.
  • valor: Valor a ser adicionado. Pode ser primitivo, operando do tipo lista ou obejto a depender do vetor vect

Retorno:

Enquanto o vetor ao qual foram adicionados os defaults não houver sido salvo, o retorno do tube set é booleano (true) se o elemento passado como parâmetro foi adicionado com sucesso ao default.

Uma vez que o vetor tenha sido salvo, o set retorna o valor do elemento que se encontra na posição passada como parâmetro.

É importante destacar que o lawtex prioriza os inputs do usuário em detrimento dos defaults definidos no código. Isso significa que o set não funciona caso seja usado em uma variável cujo valor já tenha sido salvo pelo usuário.

Exemplos:

operations {
|vect|.set(0, "Default do elemento de índice 0")
}

Comportamento da plataforma:

Exemplo 1

1. Set com vetor de String. Neste exemplo, tem-se um contrato cujos itens mais recorrentes que compõem uma cláusula de declarações das partes são conhecidos previamente. Para permitir que o usuário deseja possa editar o texto dos itens a partir das sugestões pré-programadas, bem como excluir ou adicionar novos elementos ao vetor, utiliza-se o tube set:

declarations {
+|declaracoesVendedora| : Vector[String] {
name = "Declaração"
request = "A parte vendedora declara:"
}
}
operations {
|declaracoesVendedora|.set(0, "que o imóvel encontra-se totalmente livre e desembaraçado de quaisquer outros ônus ou gravames"),
|declaracoesVendedora|.set(1, "que o imóvel está livre e isento de passivos e dívidas, inclusive de natureza ambiental, administrativa e fiscal"),
|declaracoesVendedora|.set(2, "que não existe sobre o imóvel qualquer processo de tombamento ou desapropriação em curso"),
|declaracoesVendedora|.set(3, "que não está envolvida em ações cíveis, tributárias ou trabalhistas que ameacem a presente promessa de compra e venda do imóvel")
}

Comportamento da plataforma:

Exemplo 2

2. Set com indexação dinâmica. Ao invés de definir previamente a posição em que será inserida a sugestão, é possível passar o tamanho do vetor como parâmetro de indexação (com o tube size). Dessa forma, não importa o número de elementos do vetor, o default adicionado pelo set será sempre inserido ao final do vetor.

declarations {
+|declaracoesVendedora| : Vector[String] {
name = "Declaração"
request = "A parte vendedora declara:"
}
}
operations {
|declaracoesVendedora|.set(|declaracoesVendedora|.size(), "que o imóvel encontra-se totalmente livre e desembaraçado de quaisquer outros ônus ou gravames"),
|declaracoesVendedora|.set(|declaracoesVendedora|.size(), "que o imóvel está livre e isento de passivos e dívidas, inclusive de natureza ambiental, administrativa e fiscal"),
|declaracoesVendedora|.set(|declaracoesVendedora|.size(), "que não existe sobre o imóvel qualquer processo de tombamento ou desapropriação em curso"),
|declaracoesVendedora|.set(|declaracoesVendedora|.size(), "que não está envolvida em ações cíveis, tributárias ou trabalhistas que ameacem a presente promessa de compra e venda do imóvel")
}
Edit this page on GitHub