Testes de expressão e operadores
Os operadores matemáticos padrão podem ser usados para calcular valores no contexto de um modelo.
Símbolo | Descrição |
---|---|
+ | Adiciona dois objetos juntos. Isso geralmente é usado para a adição de números. Se você estiver tentando concatenar strings de listas, use ~ . |
- | Subtrai um número de outro. |
- | Divide números |
% | Retorna o restante da divisão de números |
// | Divida dois números e retorne o resultado inteiro truncado. Exemplo: {{ 20 // 7 }} é 2 |
* | Multiplica números |
** | Eleve o operando esquerdo ao poder do operando direito |
Os operadores de comparação podem ser usados para avaliar os valores da lógica do modelo. Você pode ver alguns exemplos de operadores de comparação sendo usados em declarações if aqui.
Símbolo | encurtado | Descrição |
---|---|---|
== | eq | Igual a Avalia como verdadeiro sedois objetos são iguais. |
!= | ne | Não é igual a. Avalia como verdadeiro se dois objetos não forem iguais. |
> | gt | Maior que Avalia como verdadeiro se o lado esquerdo for maior que o lado direito. |
>= | gte | Maior ou igual a Avalia como verdadeiro se o lado esquerdo for maior ou igual ao lado direito. |
< | lt | Menor que Avalia como verdadeiro se o lado esquerdo for inferior ao lado direito. |
<= | lte | Menor ou igual a Avalia como verdadeiro se o lado esquerdo for inferior ou igual ao lado direito. |
A versão abreviada dos operadores de comparação é utilizável em filtros que envolvem o teste de uma expressão como |selectattr()
.
Os operadores lógicos permitem combinar várias expressões em instruções únicas.
Símbolo | Descrição |
---|---|
e | Retorna verdadeiro se o operando direito e esquerdo forem verdadeiros. |
ou | Retorna verdadeiro se o operando esquerdo ou direito for verdadeiro. |
não | Nega uma declaração e é usado em conjunto com é. Veja os exemplos abaixo. |
(expr) | Agrupa uma expressão para a ordem de operações. Por exemplo, (10 - 2) * variável. |
?: | O operador ternário aceita 3 argumentos (expressão, condição verdadeira, condição falsa). Avalia uma expressão e retorna a condição correspondente. |
Veja abaixo outros operadores do HubL importantes que podem ser usados para executar várias tarefas.
Símbolo | Descrição |
---|---|
no | Verifica se um valor está em uma sequência. |
está | Executa um teste de expressão. |
| | Aplica um filtro. |
~ | Concatena valores. |
Os testes de expressão são várias condições booleanas que podem ser avaliadas por operadores lógicos.
O teste de expressão containingall
verifica se uma variável de lista contém todos os valores de outra lista.
O teste de expressão defined definida verifica se uma variável é definida dentro do contexto do modelo. Embora você possa usar esse teste de expressão, escrever uma instrução if sem operador será o padrão para verificar se a variável está definida ou não.
No exemplo abaixo, o parâmetro de cor de um módulo de cor é testado. Se o parâmetro de cor não contiver um valor, o modelo renderizará uma cor de fundo preta padrão. Se for definido, ele renderizará a cor de fundo definida pelo usuário.
O teste de expressão teste divisibleby pode ser usado para testar se um objeto é divisível por outro número.
Por exemplo, abaixo, é criado um loop for que itera através de uma lista de tipos de animais. Cada tipo de animal é impresso em uma div, e cada 5ª div tem um estilo em linha diferente aplicado (largura:100%). Esse conceito pode ser aplicado a um blog em que uma marcação diferente é renderizada para um determinado padrão de posts. Para saber mais sobre loops e loop.index, confira este artigo.
O teste de expressão equalto verifica se o valor de uma variável é igual a uma constante ou outra variável. Você também pode usar o operador == para fazer o mesmo teste.
No exemplo abaixo, a largura dos posts do blog é ajustada com base no número total de postagens no loop. O exemplo de saída pressupõe que havia 4 posts no blog.
O teste de expressão even verifica se uma variável numérica é um número par.
O exemplo abaixo mostra um loop de listagem de blog simplificado, em que, se a iteração atual do loop for par, uma classe de post par será atribuída ao div do item do post. Caso contrário, uma classe de post ímpar é atribuída.
Verifica se uma variável é iterável e pode ser inserida em loop.
Este exemplo verifica uma variável chamada "jobs" para ver se ela pode ser iterada. Como a variável contém uma lista de trabalhos, a instrução if seria avaliada como true e o loop seria executado. Se a variável contivesse um único valor, a instrução if imprimiria esse valor com marcação diferente. Saiba mais sobre loops for.
O teste de expressão lower é avaliado como verdadeiro quando uma string está em letras minúsculas.
O exemplo abaixo usa uma instrução unless e um filtro inferior para garantir que uma sequência de texto inserida em um módulo de texto esteja sempre em minúsculas.
O teste de expressão mapping verifica se um objeto é ou não um dict (dicionário).
O exemplo abaixo verifica se o objeto de contato é um dicionário, o que é verdadeiro neste caso.
O teste de expressãonone verifica se uma variável tem um valor nulo.
O teste de expressão number verifica se o valor de uma variável é um número.
O exemplo abaixo verifica uma variável para ver se ela é ou não uma variável e, em caso afirmativo, converte-a em milhões.
O teste de expressãooddverifica se uma variável numérica é um número ímpar.
Abaixo está o mesmo exemplo do teste de expressão inversa par descrito anteriormente.
O teste de expressão sameas verifica se duas variáveis têm o mesmo valor.
O exemplo abaixo define duas variáveis e, em seguida, verifica se elas são ou não as mesmas.
O teste de expressão sequence é similar ao iterable , na medida em que verifica se uma variável é ou não uma sequência.
O exemplo abaixo verifica se uma variável é uma sequência e, em seguida, itera através dessa sequência de gêneros musicais.
O teste expressão string verifica se o valor armazenado em uma variável é texto.
O exemplo abaixo verifica se uma variável é ou não uma cadeia de caracteres e, em caso afirmativo, aplica um filtro de título para alterar a capitalização.
Este teste de expressão verifica se uma string começa com uma string específica. Ela é usada em conjunto com o operador "is".
O teste de expressão truthy verifica se uma expressão é avaliada como Verdadeira.
O exemplo abaixo usa um módulo de caixa de seleção booleana para exibir uma mensagem de alerta.
O teste de expressão undefined verifica se uma variável está indefinida no contexto do modelo. Esse teste é diferente de none, pois undefined será verdadeiro quando a variável estiver presente, mas não tiver valor; enquanto nenhum será verdadeiro quando a variável tiver um valor nulo.
O exemplo abaixo verifica um modelo para a existência da variável "my_var".
O testeupper é avaliado como verdadeiro quando uma string é toda maiúscula. Veja abaixo um exemplo inverso do teste de expressão inferior acima.
Agradecemos pelos seus comentários. Eles são muito importantes para nós.