# Métodos em expressões

Métodos são semelhantes a funções, no entanto, eles sempre se referem a uma variável de um tipo específico (por exemplo, uma string, um número, um dicionário) e servem para trabalhar exatamente com esse tipo de variável. O nome do método é escrito após o nome da variável, separado por um ponto. O método pode não ter argumentos, e então não é necessário escrever parênteses após ele. Alguns métodos, assim como funções, podem ter um ou mais argumentos, que são escritos entre parênteses após o nome do método. Os métodos podem apenas retornar um valor, ou podem alterar o valor e o estado da variável ou do objeto ao qual pertencem.

**Exemplos de uso de métodos:**

* `$MinhaStringTexto.Length` – o método Length é usado com strings de texto, listas, dicionários e alguns outros tipos de dados compostos. Quando usado com strings de texto, o método Length retorna seu comprimento em caracteres (o número de caracteres que compõem a string), e quando usado com tipos de dados compostos (listas, dicionários) – retorna a quantidade de seus elementos. O método Length não requer a especificação de argumentos e, portanto, é usado sem parênteses.
* `$MyString.Replace`(«texto», «novotexto») – o método Replace é usado com strings de texto, procura na string todas as ocorrências do texto especificado no primeiro argumento e as substitui pelo texto especificado no segundo argumento. Assim como com funções, como argumentos podem ser usadas não apenas constantes, mas também outras variáveis, bem como expressões com elas. O método Replace não altera a string original, mas retorna o resultado de sua execução. Ou seja, ele pode, por exemplo, ser usado em um bloco Assign para atribuir a string retornada como resultado do trabalho desse método a outra variável.

Métodos podem ser usados em sequência "em cadeia". Por exemplo, a seguinte expressão é válida, e seu resultado será o comprimento da nova string obtida após substituir todas as ocorrências de «texto» por «novotexto» na string armazenada na variável `$MyString`:

`$MyString.Replace(«texto», «novotexto»).Length`

Alguns métodos dão acesso a elementos individuais de objetos compostos, e então são chamados de "propriedades". Por exemplo, se você usar o bloco Get POP3 Mail Messages para obter novas mensagens de email, as mensagens recebidas serão salvas na variável especificada na propriedade Result. Suponha que a variável `$Result` esteja especificada lá. O tipo dessa variável é uma lista de objetos do tipo MailMessage. Suponha que você queira acessar o endereço do remetente da primeira das mensagens recebidas. Como `$Result` neste caso é uma lista, você pode acessar seu primeiro elemento especificando o índice entre colchetes: `$Result[0]`. Não se esqueça de que os índices de todos os elementos compostos começam em zero, e não em um. Assim, obteremos acesso ao objeto composto MailMessage, que contém todas as informações sobre cada mensagem individualmente. O guia na parte inferior da janela Editar expressão nos informa que o endereço do remetente da mensagem está contido na propriedade From e em sua subpropriedade Address. Portanto, para acessar o endereço do remetente na primeira mensagem recebida, precisamos usar a seguinte expressão:

`$Result[0].From.Address`

O resultado da avaliação dessa expressão será uma string de texto. Ela pode então ser exibida na tela, gravada em um arquivo, em uma célula de tabela, etc. Lembrando que métodos e propriedades podem ser "encadeados" uns aos outros, podemos descobrir o comprimento do endereço do remetente da mensagem em caracteres com a seguinte expressão:

`$Result[0].From.Address.Length`

Ou podemos substituir no endereço do remetente da mensagem o caractere «@» pela string «-at-» com a seguinte expressão:

`$Result[0].From.Address.Replace(«@», «-at-«)`

Assim como no caso das funções, você pode ver a lista de todos os métodos disponíveis, seus argumentos e exemplos de uso no guia da janela Editar expressão. Lá você também pode encontrar exemplos de formação de argumentos para algumas funções especiais. Por exemplo, na seção «DataTime Formats» estão contidos exemplos de argumentos para funções e blocos de formatação de data e hora. E lá você também poderá encontrar exemplos de decomposição em propriedades individuais de objetos compostos. Por exemplo, todas as propriedades do objeto MailMessage mencionado acima estão contidas na seção «Mail Message examples» do guia.


---

# 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/metody-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.
