Uma struct, ou estrutura, é uma maneira de agrupar diversas variáveis relacionadas.
Struct é a abreviação de estrutura e é uma maneira de agrupar diversas variáveis relacionadas. Quaisquer variáveis podem ser agrupadas, incluindo variáveis de diferentes tipos.
[
Clique na imagem para ampliar.
coordinates := struct:
X : float = 0.0
Y : float = 0.0
Como instanciar uma estrutura: você pode criar uma instância de uma estrutura a partir de um arquétipo. Um arquétipo define os valores dos campos de uma estrutura.
~~~(verse)
Posição.X
## Tipo persistente
Uma estrutura é persistente quando:
* Definida com o [especificador persistente](specifiers-and-attributes-in-verse).
* Não é [paramétrica](parametric-types-in-verse).
* Contém apenas membros que também são persistentes.
Quando uma estrutura é persistente, você pode usá-la nas variáveis `weak_map` com escopo de módulo e fazer com que seus valores persistam entre as sessões de jogo. Consulte mais detalhes sobre a persistência em Verse em: [Como usar dados persistentes no Verse](using-persistable-data-in-verse).
Não é possível alterar uma estrutura persistente depois de publicar sua ilha. Por esse motivo, recomendamos o uso de estruturas persistentes somente quando o esquema for constante.
O exemplo a seguir mostra uma estrutura persistente de coordenadas X, Y que pode ser armazenada, atualizada e acessada posteriormente para um jogador.
~~~(verse)
coordinates := struct<persistable>:
X : float = 0.0
Y : float = 0.0
Acessando campos em uma struct: você pode acessar os campos de uma struct para obter seus valores adicionando . entre a instância da struct e o nome do campo.
## Tipo persistente
Uma estrutura é persistente quando:
* Definida com o [especificador persistente](specifiers-and-attributes-in-verse).
* Não é [paramétrica](parametric-types-in-verse).
* Contém apenas membros que também são persistentes.
Quando uma estrutura é persistente, você pode usá-la nas variáveis `weak_map` com escopo de módulo e fazer com que seus valores persistam entre as sessões de jogo. Consulte mais detalhes sobre a persistência em Verse em: [Como usar dados persistentes no Verse](using-persistable-data-in-verse).
Não é possível alterar uma estrutura persistente depois de publicar sua ilha. Por esse motivo, recomendamos o uso de estruturas persistentes somente quando o esquema for constante.
O exemplo a seguir mostra uma estrutura persistente de coordenadas X, Y que pode ser armazenada, atualizada e acessada posteriormente para um jogador.
~~~(verse)
coordinates := struct<persistable>:
X : float = 0.0
Y : float = 0.0