# Funções em expressões

As funções são destinadas a manipulações convenientes dos valores das variáveis dentro das expressões. Algumas das tarefas que são resolvidas por funções também podem ser resolvidas por blocos separados, no entanto, o uso de funções dentro das expressões permite reduzir o número de blocos e variáveis intermediárias no diagrama, além de acelerar o desenvolvimento de scripts de robôs.

Sherpa RPA fornece várias dezenas de funções para realizar operações matemáticas, trabalhar com strings, com data e hora, com listas, dicionários e outras estruturas de dados. Ao usar uma função em uma expressão, é necessário escrever o nome da função e, em seguida, entre parênteses, indicar um ou mais de seus argumentos, ou seja, os dados de entrada com os quais ela irá trabalhar.

Para facilitar o trabalho com funções, foram desenvolvidas dicas. Em qualquer lugar onde é possível chamar o editor de expressões, na parte inferior da janela do editor, são apresentadas categorias de expressões, e para cada categoria são apresentados os possíveis formatos de escrita das funções com explicações sobre como usar essas funções.

<figure><img src="https://1245874961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fti2Raw08aYi0Vr2rkcD9%2Fuploads%2Fgit-blob-62ea86eeb6809f647ff7135c1d520572de7c83d8%2Fimage%20(82).png?alt=media" alt=""><figcaption></figcaption></figure>

Ao dar um duplo clique na linha da lista de funções, essa função aparecerá na janela do editor e com ela será possível compor uma expressão:

<figure><img src="https://1245874961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fti2Raw08aYi0Vr2rkcD9%2Fuploads%2Fgit-blob-edcff7c58316bd4ef2746b24524516cfc5f79bc8%2Fimage%20(83).png?alt=media" alt=""><figcaption></figcaption></figure>

O argumento da função (que está entre parênteses) pode ser trocado pelo valor de alguma variável. No exemplo da captura de tela acima – assim saberemos se o valor dessa variável é positivo ou negativo.

<figure><img src="https://1245874961-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fti2Raw08aYi0Vr2rkcD9%2Fuploads%2Fgit-blob-801250339f28c60fab39eaac29a25a112058e17d%2Fimage%20(84).png?alt=media" alt=""><figcaption></figcaption></figure>

Os argumentos da função podem ser quaisquer expressões válidas, no entanto, seu tipo deve corresponder ao tipo de dado que a função espera ver nesse argumento.

Por exemplo, a função `Round()` permite arredondar o valor de um número que foi passado a ela como argumento, ou seja, indicado entre parênteses. Nesse caso, em vez de um número, pode-se indicar o nome de uma variável que contém o número desejado, ou até mesmo uma expressão inteira composta por constantes, variáveis e outras funções. Abaixo estão exemplos de uso correto da função `Round()`.

`Round(5.5)` – arredondará o número 5.5 e retornará o resultado 6. Observe que o separador decimal é o ponto, e não a vírgula. Se você tentar chamar a função assim: `Round(5,5)`, o resultado será o número 5, e não 6. Isso se deve ao fato de que a vírgula nas funções separa os argumentos. O programa presumirá que dois argumentos foram passados para a função em vez de um. Isso não resultará em erro, mas como a função `Round()` espera apenas um argumento, usará o número 5 como valor de entrada, e assim o número 5 também será retornado como saída.

`Round($MinhaVariavel)` – se na variável $MinhaVariavel foi previamente armazenado o número 5.5 – também retornará o valor 6.

`Round($MinhaVariavel + 5)` – seguindo o exemplo anterior, retornará o número 11.

`Round($MinhaVariavel + Round($MinhaVariavel))` – seguindo os exemplos anteriores, retornará o número 12.

`Round(“Olá!”)` – resultará em erro, pois a função `Round()` espera um número como argumento, e não uma string de texto.

Se você inserir a função `Round()` ou qualquer outra função em uma expressão, o resultado do trabalho da função será utilizado no cálculo do valor da expressão no local onde você inseriu a função. Ou seja, o resultado do cálculo da expressão “`5 + Round(5.5)`” será 11.

A lista de todas as funções disponíveis, juntamente com descrições de seu funcionamento e exemplos de aplicação, pode ser encontrada no guia na parte inferior da janela Editar expressão.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/rabota-v-sherpa-designer/paneli-svoistv-i-peremennykh-i-rabota-s-nimi/panel-svoistv/rabota-s-vyrazheniyami/funkcii-v-vyrazheniyakh.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
