Instruções de tomada de decisão
As informações nesta página de ajuda são aplicáveis tanto ao Studio quanto ao Desktop Studio.
Você pode fazer com o que seu script selecione uma tarefa para desempenhar com base nas condições que especificar Usando uma instrução de tomada de decisão, é possível criar o script para lidar com várias possibilidades e resultados diferentes. Isso permite que você controle o fluxo linear do que acontece no seu script.
As palavras-chave para essas instruções são:
- IF: selecione qual opção executar com base no resultado da avaliação de uma expressão booleana
Um tipo de dados que tem dois valores possíveis: true e false.. - SELECT: executa a primeira instrução em uma série de instruções avaliadas como true.
- SWITCH: avalia uma expressão e compara o resultado para definir casos. Ela toma a ação definida no caso correspondente.
Instruções de tomada de decisão sempre exigem blocos de código condicionais. Blocos são inseridos dentro de chaves (
- CASE: define uma de um conjunto de possíveis instruções a ser executada.
- DEFAULT: define CASE padrão. Esta é a instrução que é executada se nenhuma das outras instruções CASE puder ser executada.
A discussão de cada tipo de instrução inclui um resumo de sintaxe. Esses resumos usam certas convenções para indicar as partes da instrução e se cada parte é obrigatória ou opcional.
Instruções IF e IF... ELSE
Descrição: avalia uma expressão e toma um ramal dependendo do resultado da avaliação.
Sintaxe:
Ação do Studio: If
Detalhes: instruções IF avaliam uma <expression>. Dependendo de como a expressão é avaliada, o script executa o código no primeiro conjunto de chaves { ... }. A expressão deve ser avaliada como true ou o script não executará o código.
Você pode incluir a instrução ELSE se quiser especificar o que o script faz quando a expressão é avaliada como false. ELSE é opcional. Use-a quando houver duas ações possíveis e quando quiser que o script escolha entre elas. Use IF sozinha quando houver apenas uma ação possível e quando quiser que o script a execute apenas quando a condição especificada (<expression>) for atendida.
Use um operador booleano
Um tipo de dados que tem dois valores possíveis: true e false. na expressão <expression> que é parte da instrução IF. Você deve usar uma expressão que é avaliada ou como true ou como false. Por exemplo, x=5 é uma expressão válida pois o valor da variável x ou será igual a 5 ou não será.
Além de operadores matemáticos regulares para multiplicação, divisão, adição e subtração, você também pode usar os seguintes operadores:
- Operador módulo (%)
- Potência/expoente (^)
- Divisão inteira (\)
- Exclusivo OU (~)
A ordem regular de operações matemáticas é aplicada a todas as expressões. Qualquer coisa entre parênteses é avaliada primeiro como uma subunidade. Operadores de potência/expoentes são avaliados em segundo. Multiplicação e divisão são avaliadas depois, seguidas por adição e subtração. Operadores de comparação são os últimos a ser avaliados, depois que todas as operações matemáticas tiverem sido concluídas.
Operadores Booleanos
Você pode usar os seguintes operadores Booleanos em snippets. Todos esses operadores podem ser usados com comparações
| SÍMBOLO do operador | NOME DO OPERADOR | Detalhes |
|---|---|---|
| = | Igual | Se os dois lados da expressão forem equivalentes, a expressão resultará em |
| != | Não igual | Se os dois lados da expressão não forem equivalentes, a expressão será avaliada como |
| > | Maior que |
Se o lado direito da expressão for menor do que o esquerdo, a expressão resultará em |
| >= | Maior que ou igual |
Se o lado direito da expressão for menor que ou igual ao esquerdo, a expressão resultará em |
| < | Menor que |
Se o lado esquerdo da expressão for menor do que o direito, a expressão resultará em |
| <= | Menor ou igual |
Se o lado esquerdo da expressão for menor que ou igual ao direito, a expressão resultará em |
| & | e | Se todas as sub-expressões forem avaliadas como true, a expressão inteira resultará em |
| | | ou | Se qualquer uma das sub-expressões for avaliada como true, a expressão resultará em |
Studio não suporta ter mais de uma instrução
IF A > B {
// Do something
}
ELSE {
IF A = B {
// Do something else
}
ELSE {
// Do this
}
}
Exemplo
IF TEST = 1
{
ASSIGN contactID = "123456780"
ASSIGN customerName = "XYZ International"
ASSIGN CBWindowStart = #"{date} 8:00 AM"
ASSIGN CBWindowEnd = #"{date} 4:30 PM"
}
//String Comparison
IF customerName = "ABC Corporation"
{
ASSIGN contractLevel = "Gold"
}
ELSE
{
ASSIGN contractLevel = "Silver"
}
//Numeric Comparision
IF contactID % 10 = 0
{
ASSIGN logCall = 1
}
ELSE
{
ASSIGN logCall = 0
}
//DateTime Comparison
ASSIGN myTime = #"{time}"
IF myTime >= CBWindowStart && myTime <= CBWindowEnd
{
ASSIGN offerCallback = "True"
}
ELSE
{
ASSIGN offerCallback = "False"
}
Instruções SELECT
Descrição: Executa um conjunto de comandos com base na primeira expressão a ser avaliada como true.
Sintaxe:
Detalhes: Em uma instrução SELECT, o script avalia cada CASE <expression> começando pelo topo e descendo até encontrar a primeira que é avaliada como true. Para a primeira CASE <expression> avaliada como true, SELECT executa o código dentro das chaves [{ ... }] daquela CASE <expression>.
Se nenhuma CASE <expression> for avaliada como true, o script executará o código opcional DEFAULT { ... }.
Pelo menos uma instrução CASE é esperada. Se incluída, a instrução DEFAULT { ... } deve ser a última cláusula na lista de instruções CASE.
Por exemplo:
SELECT
{
CASE name="Odin" { agentid = 123 }
CASE name="Frigg" { agentid = 345 }
CASE name.length = 0
{
ASSIGN agentid = -1
ASSIGN error = "Invalid name"
}
DEFAULT { ASSIGN agentid = 999 }
}
Instruções SWITCH
Descrição: avalia a variável especificada e toma a ação definida pelo CASE correspondente.
Sintaxe: SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>
Detalhes:
Se nenhum CASE <literal> corresponder a <var>, o código opcional
SWITCH pode apenas avaliar uma variável. Ela não pode avaliar uma expressão. Se usar uma expressão, seu script não funcionará.
Pelo menos um CASE é esperado. Todas as instruções CASE devem ter o mesmo tipo de <literal>. O primeiro CASE determina o tipo para as instruções CASE restantes. Se qualquer instrução CASE tiver um tipo diferente do primeiro CASE, um erro de compilação ocorrerá. Todos os exemplos a seguir são de tipos literais válidos:
- CASE "john"
- CASE 512
- CASE #"5/15/2050"
- CASE #"6/1/2050 7:00am"
- CASE #"7am"
Por exemplo:
IF TEST = 1
{
ASSIGN MyDate = "07/03/2023" //This date falls on a Monday
}
ASSIGN MyDow = MyDate.asdatedow
SWITCH MyDow
{
CASE 0 { ASSIGN NewToday = "Sunday" }
CASE 1 { ASSIGN NewToday = "Monday" }
CASE 2 { ASSIGN NewToday = "Tuesday" }
CASE 3 { ASSIGN NewToday = "Wednesday" }
CASE 4 { ASSIGN NewToday = "Thursday" }
CASE 5 { ASSIGN NewToday = "Friday" }
CASE 6 { ASSIGN NewToday = "Saturday" }
}
Se mais de um CASE usa o mesmo código { ... }, não é preciso incluir um bloco de código após cada um. Em vez disso, liste as palavras-chave CASE uma após a outra, com o código após o último CASE que usa tal código. Isso é chamado de caída de case. Isso é permitido desde que haja um case que tem um bloco de código para o SWITCH encontrar. O exemplo a seguir mostra uma caída de case. Para os CASEs 1, 2 e 3, a saída é o valor hi. Para os CASEs 5 e 6, a saída é bye.
SWITCH x
{
CASE 1
CASE 2
CASE 3 { TRACE "hi" }
CASE 5
CASE 6 { TRACE "bye" }
}
Usar case: SWITCH permite que você tenha resultados específicos dependendo do que a variável especificada contém. Por exemplo, é possível fazer com que o script avalie uma variável contendo códigos de área. Você pode definir um CASE para cada código de área possível e fazer o script adicionar um valor à variável state que corresponde ao estado ao qual o código de área é atribuído. Por exemplo:
SWITCH areaCode
{
CASE 603 { state = "New Hampshire" }
CASE 614 { state = "Ohio" }
CASE 628 { state = "California" }
CASE 646 { state = "New York" }
CASE 667 { state = "Maryland" }
}
Instruções CASE
Descrição: define um de um conjunto de instruções possíveis para ser executado. Usado com SWITCH ou SELECT.
Sintaxe: varia; consulte SWITCH ou SELECT
Ação do Studio:
Detalhes: CASE deve ser usado no bloco de código condicional de um(a) SWITCH ou instrução SELECT. Adicione uma ou mais instruções CASE para definir os possíveis blocos para o script executar. Ao menos um CASE é necessário.
Relacionado: inclui uma instrução DEFAULT para definir o caso a ser usado se nenhuma das instruções CASE especificadas for aplicável.
Instruções DEFAULT
Descrição: Define o bloco CASE que é usado se nenhuma das CASE especificadas for aplicável. Usada com SWITCH e SELECT.
Sintaxe: Varia; consulte SWITCH ou SELECT
Detalhes: DEFAULT deve ser usada com blocos SWITCH ou SELECT e deve haver pelo menos uma instrução CASE presente. DEFAULT não pode ser usada por conta própria. DEFAULT é sempre opcional. Ela deve ser a última cláusula na lista de instruções CASE.
Instruções ELSE
Descrição: define a instrução que o script executa se a expressão IF for avaliada como false.
Sintaxe:
Detalhes: ELSE sempre é opcional. Você pode incluir uma instrução ELSE se quiser especificar o que o script faz quando a expressão é avaliada como false. Use-a quando há duas ações possíveis e você quer que o script escolha entre elas.