Na Aula 2, você viu alguns dos tipos mais comuns e as operações e os valores associados a eles. É hora de começar a aprender como usar esses tipos e valores em seu código.
Os valores que as expressões usam às vezes são chamados de informações ou dados. Os programas precisam de dados para saber o que fazer, e existem diferentes maneiras de armazenar esses dados ou valores.
Existem também diferentes tipos de dados.
Mutáveis e imutáveis
Mutável significa capaz de mudar. Pense em um mutante, alguém cujo código de DNA mudou ou sofreu mutação.
As ondas ao longo da costa são mutáveis e mudam constantemente.
Quando algo é imutável, não pode ser mudado. Se você não leva em consideração terremotos, maremotos, explosões ou erosão, o penhasco com vista para a praia é imutável.
Mas o que isso tem a ver com código?
Quando um valor não pode ser alterado durante a execução do programa, ele é imutável. Se o valor for alterado enquanto o programa estiver em execução com base em uma entrada de outro lugar, esse valor será mutável.
O Verse acompanha tipos integrados que oferecem suporte para as operações básicas das quais a maioria dos programas precisa para ser executada. Esses tipos integrados são a base do uso de variáveis e constantes no Verse.
Variáveis e constantes
Na programação, você usa variáveis e constantes para armazenar valores que são usados pelo seu programa.
Quando o programa precisa de dados para determinar o que acontece a seguir, os cálculos e as decisões do computador são baseados nos valores armazenados nas variáveis e constantes no código.
Embora o termo variável às vezes seja usado genericamente para incluir variáveis e constantes, há uma diferença importante: as variáveis podem alterar valores enquanto um programa está em execução, mas valores constantes as constantes não podem ser alterados enquanto o programa está em execução. Em outras palavras, o valor de uma variável é mutável, enquanto o valor de uma constante é imutável.
Sintaxe para variáveis e constantes
A sintaxe para uma variável é:
O var no início da linha mostra que é uma variável.
A sintaxe básica para uma constante é:
Observe que a única diferença na sintaxe de uma variável e de uma constante é que var é removida para uma constante, mas incluída para uma variável.
Agora, para descompactar o que esta sintaxe diz:
name |
Lembre-se que |
type |
Tipo explica o que pode ser feito com o valor nessa variável. Observe que dois pontos : separam o nome e o tipo. |
value |
Para uma constante, esse valor permanecerá, bem, constante. Para uma variável, esse é o valor com o qual a variável começa, embora possa mudar (variar) durante a execução do programa. Esse é o valor inicial. Observe que um Definir um valor inicial para uma variável é opcional, mas é uma boa prática. Definir o valor é necessário para uma constante. |
Identificador
Um identificador é o nome exclusivo que um programador dá a uma expressão.
As palavras identificador e nome são sinônimos.
Regras e convenções de nomenclatura
Existem regras para nomear as coisas no Verse. Ao criar variáveis e constantes, lembre-se destas regras de nomenclatura:
- Tanto quanto possível, dê às suas variáveis (e outras expressões) nomes que indiquem o que elas fazem.
- É uma boa prática nomear suas variáveis de uma maneira consistente que tornará seu código mais fácil de ler por outras pessoas (e mais fácil de lembrar!).
- O primeiro caractere no identificador deve ser uma letra ou o caractere sublinhado (_).
- Os caracteres após o primeiro caractere devem ser letras, números ou o caractere sublinhado. Você também pode ter mais de um sublinhado no nome ou até mesmo dois ou mais sublinhados juntos.
- Nem variáveis, nem identificadores constantes podem conter espaços.
- O Verse faz distinção entre maiúsculas e minúsculas e, por isso, é importante ser consistente na capitalização. Caso contrário, isso causará erros no seu código.
Para obter um guia completo sobre convenções de nomenclatura no Verse, confira o Guia de estilo de código Verse.
Declarando uma variável
Cada variável ou constante tem três partes básicas: um identificador (o nome), o tipo de valor que pode armazenar e o valor propriamente dito.
var name : type = value
No Verse, você cria uma variável declarando-a. Para declará-la, a variável deve ter todas as três partes: o identificador, o tipo e o valor.
Inicialização
O processo de definir um valor inicial para uma constante (ou qualquer outra expressão) é chamado de inicialização. A inicialização é necessária quando você declara uma variável ou constante.
Com o operador : =, você pode inicializar valores em uma constante ou variável.
Observe que, com esse operador, o name vem antes de :, o tipo está entre : e =, e o valor vem depois de =.
~~~(verse) var Coins : int = 500
### Usando constantes efetivamente
Quando você tem um valor que aparece em vários lugares no seu código e que nunca muda, é inteligente usar uma constante.
Lembre-se de literais da [Aula 2](learn-code-basics-2-basic-programming-components-in-verse#literals)? Um **literal é um valor que nunca muda**. Idealmente, você deve usar literais com moderação.
Por exemplo, se o seu jogo permitir que o jogador compre uma ratoeira com cem moedas, você pode escrever o valor **literal (unchanging)** 100 no programa sempre que o código subtrair de `Coins` quando o jogador compra uma ratoeira — **ou** (e isso é muito melhor!) você pode declarar e usar uma constante, como `CoinsPerMousetrap`, que contém o valor **100**.
~~~(verse)
CoinsPerMousetrap : int = 100
O uso de constantes dessa maneira facilita a leitura do código para você e seus colegas de equipe, caso alguém volte mais tarde para modificar algum código que não é tocado há muito tempo.
Seu código também será mais fácil para outros programadores entenderem quando você usar constantes bem nomeadas em vez de valores literais inexplicáveis.
Outra vantagem de usar constantes dessa maneira é que, se você decidir modificar um valor, como quanto custa uma ratoeira, só precisará atualizar a constante, e não todas as instâncias em que esse valor é usado.
Use nomes claros para suas constantes quando possível. O exemplo acima, CoinsPerMousetrap representa claramente uma constante para o número de moedas que o jogador gastará para comprar uma ratoeira.
Quando você tiver um valor que não será alterado, armazene-o com uma constante.
Atribuindo um valor a uma variável
Ao contrário de constantes, os valores de variáveis podem ser alterados enquanto o programa está em execução.
Constantes evitam ter que inserir o mesmo valor repetidamente. Mas qual é a vantagem de usar uma variável?
Às vezes você deseja alterar um valor com base em alguma outra entrada.
Por exemplo, quando o jogador compra uma ratoeira, você pode usar essa linha de código para subtrair o número de moedas que ele gasta em uma ratoeira do número total de moedas que ele tem:
~~~(verse) set Coins = Coins - CoinsPerMousetrap ~~~
Vamos quebrar esta linha de código abaixo:
A primeira parte, set, é uma palavra-chave integrada no Verse. A palavra-chave set pode ser usada para alterar o valor de uma variável, então esta linha de código está dizendo que Coins pode ser alterado para igualar o valor de Coins menos CoinsPerMousetrap.
Essa mudança de valor usando set só pode ser feita com uma variável. Você não pode usar set com uma constante.
Tanto Coins quanto CoinsPerMousetrap nesse caso seriam identificadores para expressões que já existem no programa.
Resumo
- Variáveis e constantes são usadas para armazenar valores.
- A principal diferença entre as duas é que o valor de uma constante não pode ser alterado enquanto o programa está em execução, mas o valor da variável pode.
- Variáveis e constantes são expressões que produzem resultados quando avaliadas.
- Variáveis e constantes são declaradas no Verse. Isso é feito dando à expressão um nome exclusivo, ou identificador, um tipo e um valor.
- Quando você define um valor inicial para uma expressão, isso é chamado de inicialização.