Expressões

Kayalla Barreto Updated by Kayalla Barreto

  • Visão geral
  • Modelos
  • Tipos
  • Operadores
  • Funções

Visão geral

Recebe esse nome emprestando alguns dos nomes de sintaxe e função das fórmulas do Microsoft Excel, embora tenha evoluído com o tempo e as semelhanças sejam muito menores agora. É uma linguagem de modelagem baseada em expressões que visa facilitar a geração de texto a partir de um contexto de valores.

Modelos

Os modelos podem conter variáveis únicas ou expressões mais complexas. Uma única variável é incorporada usando o caractere @. Por exemplo,Hi @foocontém uma única variável que, em tempo de execução, será substituída pelo valor de foo no contexto.

Expressões mais complexas podem ser incorporadas usando a @(...)sintaxe. Por exemplo, o modelo Hi @("Dr " & upper(foo))pega o valor de foo, converte para maiúsculas e o prefixa com outra sequência. Observe que dentro de uma expressão complexa você não prefixa variáveis @.

O @símbolo pode ser escapado nos modelos repetindo-o, por exemplo, Hi @@twitterserá exibido Hi @twitter.

Tipos

Tem os seguintes tipos:

  • Matriz
  • Boleano
  • Encontro
  • Data e hora
  • Função
  • Número
  • Objeto
  • Texto
  • Tempo

matriz: é uma matriz de itens

@(array(1, "x", true)) → [1, x, true]
@(array(1, "x", true)[1]) → x
@(count(array(1, "x", true))) → 3
@(json(array(1, "x", true))) → [1,"x",true]

boleano: é um booleano verdadeiroou falso

@(true) → true
@(1 = 1) → true
@(1 = 2) → false
@(json(true)) → true

encontro: é um valor de data do calendário gregoriano

@(date_from_parts(2019, 4, 11)) → 2019-04-11@(format_date(date_from_parts(2019, 4, 11))) → 11-04-2019@(json(date_from_parts(2019, 4, 11))) → "2019-04-11"

data e hora: é um valor de data e hora

@(datetime("1979-07-18T10:30:45.123456Z")) → 1979-07-18T10:30:45.123456Z@(format_datetime(datetime("1979-07-18T10:30:45.123456Z"))) → 18-07-1979 05:30@(json(datetime("1979-07-18T10:30:45.123456Z"))) → "1979-07-18T10:30:45.123456Z"

função: é uma função que pode ser chamada

@(upper) → function
@(array(upper)[0]("abc")) → ABC
@(json(upper)) → null

número: é um número inteiro ou fracionado

@(1234) → 1234
@(1234.5678) → 1234.5678
@(format_number(1234.5670)) → 1,234.567
@(json(1234.5678)) → 1234.5678

objeto: é um objeto com propriedades nomeadas

@(object("foo", 1, "bar", "x")) → {bar: x, foo: 1}
@(object("foo", 1, "bar", "x").bar) → x
@(object("foo", 1, "bar", "x")["bar"]) → x
@(count(object("foo", 1, "bar", "x"))) → 2
@(json(object("foo", 1, "bar", "x"))) → {"bar":"x","foo":1}

texto: é uma sequencia de caracteres

@("abc") → abc
@(text_length("abc")) → 3
@(upper("abc")) → ABC
@(json("abc")) → "abc"

How did we do?

Referencing the variables

Date and Time Values

Contact