Declarações

Instruções definem as ações que um script toma quando é executado. Isto inclui criar variáveis, atribuir novos valores, realizar cálculos e fazer escolhas lógicas com base em determinada condição. Algumas instruções apenas executam uma tarefa, como atribuir um valor a uma variável. Outras instruções afetam o fluxo do script. Instruções são executadas em uma ordem lógica, mas essa ordem pode ser alterada toda vez que o script é executado.

Instruções no snippet consistem em uma ou mais linhas de código. Uma instrução simples de linha única pode criar uma variável e atribuir um valor a ela, como esta:

ASSIGN firstName = "Beowulf"

Uma instrução complexa pode ter vários grupos de linhas agrupados, como esta:

ASSIGN Names="Odin|Freya|Thor|Loki" ASSIGN SubCounter=1 FOREACH Name IN Names { IF Name = "Odin" | Name = "Freya" { ASSIGN NewNames[SubCounter]= "{Name}" ASSIGN SubCounter=SubCounter + 1 } }

A ordem lógica da execução de uma instrução em um snippet pode ser alterada se houver um erro no snippet. Quando ocorre um erro, a ação Snippet encerra imediatamente. As instruções restantes no snippet não são executadas. Em vez disso, uma mensagem de erro é salva em uma variável _ERR indicando onde o problema está.

Tipos de instruções

Você pode usar os seguintes tipos de instruções em snippets:

  • Declaração: Use instruções de declaração para declarar, ou criar, novas variáveis, objetos e funções.
  • Tomada de decisão: Use instruções de tomada de decisão para que o código snippet selecione uma tarefa para ser executada com base nas condições que você especifica. Você pode usá-las para controlar o fluxo linear do que acontece no script.
  • Looping: Use instruções de looping para que o snippet execute uma tarefa ou um conjunto de tarefas repetidamente até que a condição de encerramento especificada seja atendida.
  • Outra: Essas instruções permitem que você encerre funções, exiba resultados na janela Snippet Editor durante a depuração e inclua proxy DLLs de serviços web nos seus snippets.

Palavras-chave

Palavras-chave são comandos que iniciam instruções. Elas são termos reservados e predefinidos. O compilador reconhece a palavra-chave e executa a tarefa a ela associada.

Todo tipo de instrução que você pode usar em um snippet tem uma palavra-chave associada a ela. Por exemplo, para declarar uma variável, você pode usar a palavra-chave ASSIGN. Ou, para criar uma instrução de seleção, você pode usar a palavra-chave IF. Tanto a instrução quanto a palavra-chave compartilham o mesmo nome, portanto uma instrução IF usa a palavra-chave IF.

As palavras-chave disponíveis na linguagem Snippet são descritas juntas com as instruções associadas a cada uma delas. Uma lista de palavras-chave completa também está disponível.

Sintaxe de instrução

Todas as instruções começam com uma palavra-chave e são seguidas por palavras ou código que definem o que a instrução faz. Toda instrução tem sua própria sintaxe. A seção de resumo de sintaxe nesta página descreve como ler sintaxe de instrução.

Algumas instruções exigem código condicional. Este é código que define uma condição e o que acontece se tal condição é ou não atendida. Código condicional pode ser uma instrução única ou várias instruções. Ele deve sempre ser colocado dentro de chaves ({ }), mesmo se só tiver uma linha. Código condicional é às vezes chamado de bloco.

Quando o compilador encontra uma nova linha ou uma chave aberta, ele reconhece o final de uma instrução. Há certa flexibilidade para onde você pode colocar as chaves. Os seguintes formatos são todos válidos:


IF x=1 {TRACE "one" } 

IF x=1 {TRACE "one" } IF x=2 {TRACE "two" }
IF x=1 {
  TRACE "one"
}

IF x=1
{
  TRACE "one"
}

Quando o código incorporado exige mais de uma instrução, siga estas regras:

  • Coloque uma instrução por linha.
  • Se várias instruções forem necessárias, coloque-as em linhas separadas. Isso facilita a leitura do código.
  • Instruções incorporadas que exigem seus próprios códigos incorporados podem ocupar várias linhas, seguindo os formatos válidos para uso de chaves.

Resumos de sintaxe

Nas páginas da ajuda online que abrangem todos os tipos de instruções, todo tipo de instrução possui um resumo de sintaxe. O resumo mostra o formato que aquele tipo de instrução usa. Ele mostra quais elementos são necessários e quais são opcionais. Ele também demonstra como os elementos da sintaxe devem ser agrupados.

A tabela a seguir define cada elemento nos resumos de sintaxe. Nem todas as instruções incluem todos elementos. Ao decifrar um resumo de sintaxe, preste atenção ao agrupamento de elementos.

Elemento

Detalhes

COMMAND

Este é o nome da palavra-chave para usar com a instrução. Substitua COMMAND pela palavra-chave para a instrução que está criando.

Palavras-chave não diferenciam maiúsculas de minúsculas. Por exemplo: FOREACH é o mesmo que foreach para o compilador. No entanto, a ação Snippet converte automaticamente todas as palavras-chave para maiúsculas na próxima vez que abrir o snippet.

Na ajuda online, palavras-chave sempre são formatadas em letras maiúsculas.

<required>

Colchetes angulares indicam um elemento obrigatório. O texto dentro dos colchetes indica o tipo de elemento, como uma expressão, uma variável ou um valor literal.

Por exemplo, em um resumo de sintaxe de instrução FOREACH, há dois elementos obrigatórios:

FOREACH <var> in <array> { ... [ BREAK]}

Os colchetes angulares e o texto dentro deles não devem nunca ser usados literalmente no seu script. Substitua essa porção com o elemento de código que descreve. Por exemplo, substitua <expression> por uma expressão como i = 0.

[optional]

Colchetes quadrados indicam um elemento opcional. O texto dentro dos colchetes indica o tipo de elemento que você pode usar. Por exemplo, no resumo de sintaxe IF, a cláusula opcional ELSE é colocada dentro de colchetes quadrados:[ELSE { ... }.

Caso use um elemento opcional, ele deve aparecer no local indicado no resumo de sintaxe relativo aos outros elementos.

Os colchetes angulares nunca devem ser usados literalmente no seu script.

{ ... } Chaves indicam que um bloco de código pode ser usado.

Chaves são diferentes dos colchetes angulares e quadrados usados no resumo de sintaxe. Colchetes angulares e quadrados não foram feitos para serem incluídos no seu código, mas as chaves devem ser incluídas literalmente no seu código. No entanto, você nunca deve substituir as reticências ( ... ) dentro das chaves no resumo de sintaxe com instruções Snippet.

Barra ( | )

O caractere de barra indica que você tem uma escolha do que incluir na instrução. Por exemplo, no resumo de sintaxe para a instrução ASSIGN, o caractere de barra indica que você tem a opção de colocar o valor entre aspas duplas:

ASSIGN <variable> = "<value>" | <value>

A explicação da sintaxe explica a escolha.

Reticência (...)

Reticências indicam uma de duas coisas:

  • Onde o código é inserido em um bloco, se encontrado dentro de chaves.
  • Um padrão continuo, se encontrado dentro de colchetes quadrados com uma palavra-chave.

Um exemplo de reticências sendo usadas para indicar um padrão contínuo é encontrado no resumo de sintaxe SELECT:

SELECT <{ CASE <expression> [{ ... }] [CASE <expression> <{ ... }>] [CASE ...] [DEFAULT <{ ... }>] }>

O [CASE ...] indica que você pode continuar adicionando quantas cláusulas CASE precisar após o padrão estabelecido.

Por exemplo, o resumo de sintaxe para as instruções IF usadas nesta página é:

IF <expression> <{ ... }>

Este resumo mostra que:

  • A palavra-chave é IF.
  • O próximo elemento é uma expressão obrigatória.
  • O último elemento é um bloco de código obrigatório que deve ser colocado dentro de chaves.

O resumo de sintaxe para instruções SWITCH é mais complexo:

SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>

Este resumo mostra que:

  • A palavra-chave é SWITCH.
  • O próximo elemento é um nome de variável obrigatório.
  • O bloco de código é obrigatório e deve conter uma cláusula CASE com um valor literal.
  • A cláusula CASE obrigatória pode conter um bloco de código opcional.
  • O bloco de código da instrução SWITCH pode incluir cláusulas CASE opcionais adicionais seguindo o padrão estabelecido no resumo.
  • O bloco de código da instrução SWITCH pode conter uma cláusula DEFAULT opcional com um bloco de código opcional.