Verse é uma nova linguagem de programação, portanto, se você é um programador experiente e vê algo que não entende completamente, consulte este glossário.
Se começando a programar, este glossário também é para você. Adicionamos definições para muitos termos básicos de programação, e você pode encontrar as respostas de que precisa aqui!
- abstração
Um princípio de programação em que detalhes desnecessários são ocultados de um usuário quando o usuário não precisa entender as complexidades ocultas. Por exemplo, você pode colocar dinheiro em uma máquina de venda automática e receber uma guloseima sem entender como a mecânica funciona.
- acionar
Quando uma função emite um sinal, ela aciona um evento. As partes interessadas são notificadas que ocorreu um evento, como, por exemplo, interagir com um botão, e todos os manipuladores do evento são chamados.
- agent
Um agente pode representar uma pessoa jogadora ou um personagem não jogável (PNJ).
- agrupar
A ação de colocar uma expressão entre
(). Especifica explicitamente a ordem de avaliação. O agrupamento também pode melhorar a legibilidade do código.- algoritmo
Um algoritmo é uma sequência de instruções escritas para resolver um problema ou realizar uma tarefa. Pense nisso como uma receita para um prato. Quando você escreve um código que resolve um problema ou realiza uma tarefa, esse código é o seu algoritmo.
- alias de tipo
Um alias de tipo é uma maneira de criar um novo nome para um tipo existente. Ao declarar um alias de tipo, você pode usar o nome do alias em vez do tipo existente. Um alias de tipo não cria um novo tipo, apenas atribui um novo nome para um tipo existente.
- ambiente metaverso
Um mundo 3D persistente e globalmente consistente, em tempo real, com um ambiente de tempo de execução que executa código criado pelo usuário, simultâneo, complexo e interdependente com milhões de usuários conectados simultaneamente.
- amostra de código
Um programa, módulo ou classe independente que demonstra um ou mais conceitos, classes, funções ou algum outro aspecto de uma linguagem de programação. Compare com trecho de código.
- analisador
Um programa para analisar código.
- analisar
Analisar, em ciência da computação, é a situação em que uma sequência de comandos (geralmente um programa) é separada em componentes mais facilmente processados, que são analisados quanto à sintaxe correta e anexados a tags que definem cada componente.
- aninhado
Quando o código está aninhado, um bloco de código está contido em outro bloco de código que executa uma função mais ampla.
- análise semântica
Também conhecida como análise sensível ao contexto. A análise semântica é executada no compilador depois que reúne as informações semânticas necessárias do código-fonte (o código que você criou). Ela verifica a consistência do seu código quanto a erros semânticos e executa a verificação de tipo, como garantir que cada operador tenha um operando, ou garantir que uma variável seja declarada antes de seu uso.
- API
Uma sigla para Application Programming Interface (Interface de Programação de Aplicativos), são bibliotecas que geralmente são agrupadas em conjuntos de funções, tipos e estruturas de dados chamáveis que permitem que os usuários acessem e interajam com os sistemas da Unreal Engine e do Fortnite.
- argumento
O valor atribuído a um parâmetro em uma assinatura de função mapeada a partir de uma chamada de função.
- arquétipo
Um arquétipo é uma instância de uma classe que é totalmente definida com valores para seus campos em uma classe.
- assinatura da função
A assinatura da função declara o nome (identificador) da função, a entrada (parâmetros) e a saída (resultado) da função. As funções em Verse também podem ter especificadores que especificam como usar ou implementar uma função.
- assíncrona
Uma expressão assíncrona pode levar tempo para ser avaliada, mas não necessariamente precisa levar. Uma expressão assíncrona pode ou não ser concluída na atualização de simulação atual ou em uma posterior. As funções assíncronas que são identificadas com um especificador
suspendstambém são chamadas de corrotinas. Expressões assíncronas contrastam com expressões imediatas.- atualização de simulação
Uma rodada, etapa ou incremento recorrente de lógica, comportamento e outros cálculos para uma simulação. Geralmente é abreviado para atualizar ou usado como sinônimo de marca de verificação ou quadro. Uma atualização de simulação geralmente tem um tempo decorrido que pode ser constante ou variado. Isso geralmente é chamado de tempo delta, que pode ou não coincidir com a passagem real do tempo. Por exemplo, uma atualização de simulação pode ser mais rápida, igual ou mais lenta que o tempo real.
Uma atualização de simulação costuma estar em sincronia com a renderização de um quadro. Esse é o padrão para Verse. No entanto, uma atualização de simulação pode ser menos ou mais frequente do que um quadro, como quando um cliente de jogo on-line fica fora de sincronia com o servidor ou os sistemas físicos ao fazer várias iterações das alterações de um objeto simulado. Também é possível que uma simulação não seja renderizada visualmente.
- atômica
Uma única unidade completa de código que é executada ou falha completamente, sem interrupção ou observação de outro código. Um código atômico não pode ser interrompido. Todas as expressões adjacentes, imediatas e não assíncronas são consideradas atômicas: seu código é executado sem interrupção com a mesma atualização e sem preempção ou troca de contexto.
- avaliar
- base 16
Hexadecimal (de hexa-, significando seis, e decimal, significando dez), base 16 (geralmente abreviado para hex), é um sistema de numeração que usa 16 símbolos, em vez dos 10 símbolos mais familiares na base 10.
- biblioteca padrão
Uma série de funções, constantes e outras definições de linguagem disponíveis em Verse. Essa biblioteca fornece implementações para necessidades de programação comuns. É um recurso para coisas que os programadores usarão com frequência, como funções matemáticas.
- bidirecional
Que funciona em duas direções.
- bloco de código
Um bloco, ou bloco de código, é um grupo de expressões que introduz um novo corpo de código. Você também pode ter um bloco de código que contém zero expressões, mas geralmente é um espaço reservado que será preenchido com expressões em algum momento posterior.
Os blocos de código vêm depois de um identificador.
Um bloco de código tem três formatos possíveis em Verse. Todos esses formatos são semanticamente iguais, pois o formato não altera o que o código realmente faz.
Um formato espaçado começa o bloco com
:, e cada expressão segue em sua própria linha com um recuo de quatro espaços:Verseif (test-arg-block): expression1 expression2Observe que
if (test-arg-block)não faz parte do bloco, mas o bloco começa no final dessa linha com:. Você também pode usar;para separar várias expressões em uma única linha:Verseif (test-arg-block): expression1; expression2; expression3Em um formato de várias linhas com chaves, o bloco é delimitado por
{}(chaves), e as expressões ficam em novas linhas:Verseif (test-arg-block) { expression1 expression2 }Assim como no formato espaçado, você também pode usar
;para separar várias expressões em uma única linha.Verseif (test-arg-block) { expression1; expression2 }O terceiro formato é o formato de única linha com chaves. Novamente, o bloco é separado por
{}, mas cada expressão é separada por;em vez de ser colocada em uma nova linha. Observe que você não precisa colocar os caracteres{}em linhas separadas.Verseif (test-arg-block) {expression1; expression2}Para saber mais sobre esse assunto, consulte Blocos de código.
- bloco vazio
Um bloco de código que contém zero (nenhuma) expressão é um bloco vazio. Blocos vazios geralmente são usados apenas como espaços reservados e serão preenchidos posteriormente com código.
- Booleano
Consulte Lógica booleana.
- break
Uma expressão que"quebra"o
loopatual e executa a próxima expressão após a expressão de loop. Consulte mais informações em Loop e break.- bug
Para o Modo Criativo do Fortnite e o UEFN, um comportamento incorreto ou inesperado em um programa.
Para Verse, um bug é um erro em um programa de computador que faz com que ele produza um resultado incorreto ou inesperado. Bugs ocorrem durante o tempo de execução, ao contrário de erros do compilador, que ocorrem durante o tempo de compilação em Verse. O processo de identificar e remover bugs é chamado de depuração.
- C++
Uma linguagem de programação popular usada em muitos aplicativos diferentes, especialmente engines de jogos como a Unreal Engine.
- cache
Uma maneira de armazenar dados para que possam ser acessados mais rapidamente.
- caminho
Os caminhos em Verse fornecem um "namespace" global para identificar elementos e usam a ideia dos domínios da web. Esses caminhos são persistentes, exclusivos e detectáveis por qualquer programador em Verse.
- Caminho Verse
Consulte caminho.
- campo
Consulte membro.
- cancelado
- caractere de escape
O caractere de escape do Verse é a barra invertida (\), que cria uma sequência de escape dentro de uma literal de string. Ele é usado para alterar caracteres de controle que de outra forma seriam interpretados de maneira diferente. Por exemplo, se você estiver trabalhando com uma string e quiser incluir caracteres com usos predefinidos, como { }, será necessário incluir o caractere de escape "" antes do caractere na string. Isso faria com que
"\\{\\}"aparecesse como {} no texto.- Ceil
Uma operação matemática que arredonda um valor acional para cima até o número inteiro mais próximo. Compare com
Piso.- chamada de função
Uma expressão que avalia (conhecida como chamar ou invocar) uma função. As chamadas de função podem ter duas formas, dependendo se a função tem o efeito
decides:FunctionName()eFunctionName[]. O tipo de resultado da expressão de chamada de função é definido na assinatura da função.- chamador
- char
Um tipo de dado que armazena um único caractere.
- chaves
Consulte colchetes.
- CI/CD
CI/CD refere-se a integração contínua (continuous integration) e entrega contínua (continuous delivery) ou implantação contínua (continuous deployment). O CI/CD conecta o desenvolvimento e o aplicativo por meio da automação na compilação, teste e implantação de aplicativos.
- classe abstract
Quando uma classe ou um método de classe tem o especificador abstract, você não pode criar uma instância da classe. Uma classe "abstract" deve ser usada como uma superclasse, onde alguns membros são implementados ou especificados, mas não todos. Também chamada de classe base.
- classe base
Uma classe da qual outras classes são derivadas. Uma classe que herda de uma classe base tem todos os membros e funções de membros e pode ter propriedades adicionais que não estão incluídas na classe base. Uma classe base também é conhecida como classe pai ou superclasse.
- classe concrete
Uma classe com um especificador concreto é uma maneira de construir uma instância da classe com um arquétipo vazio, o que significa que todos os campos da classe devem ser definidos com um valor inicial.
- classe interna
Uma classe marcada como
epic_internal, o que significa que você não pode criar sua própria instância da classe. Só é possível usar as APIs para acessar um objeto interno.- codificação de caracteres
A codificação de caracteres é o mapeamento entre um caractere de texto e os dados que o computador pode entender, chamado de ponto de código.
- coerção
A conversão de um valor em um tipo de dado diferente. As conversões de tipo podem ser feitas de forma implícita ou explícita. Conversão implícita. Também chamada de coerção, é feita automaticamente.
- colchetes
Os colchetes são usados em Verse para especificar diferentes tipos de informações no código. A linguagem Verse usa quatro tipos de colchetes. Seus usos incluem, por exemplo:
()Parênteses são usados para definir parâmetros em uma assinatura de função e argumentos em uma chamada de função, e para agrupamento de expressões, tuplas e subclasses.[]Colchetes são usados para chamadas de função com falhas, especificadores de tipo para matrizes e mapas e indexação em uma matriz.{}Chaves são usadas na instanciação de arquétipo, na formatação de bloco de código e na interpolação de string.<>Parênteses angulares usados para adicionar especificadores a identificadores e funções.
- comentário
Um comentário escrito pelo programador que explica algo sobre o código ou a razão dele para programar algo de determinada maneira. Enquanto o próprio código mostra o como do programa, comentários geralmente são adicionados para explicar o porquê.
Os comentários de código podem aparecer em qualquer lugar no código e começam com
#. Quando o programa é executado, os comentários de código são ignorados.Você pode fazer um comentário em uma única linha colocando um
#no início da linha. Uma quebra de linha no final da linha encerra o comentário.Verse# A single line is commented this way.Você pode fazer um comentário em bloco de várias linhas
usando <#para iniciar o bloco e#>para finalizá-lo:Verse<# You can make multi-line comments in your code by starting and ending the comments as shown here. #>Para consultar outras maneiras de adicionar comentários ao seu código, consulte a Referência rápida da linguagem Verse.
- comentário de código
Consulte comentário.
- commit
Um "commit" ocorre quando você registra um conjunto de mudanças no código para um sistema de controle de versão.
Em Verse, um "commit" ocorre quando os efeitos de código de uma expressão falível se tornam permanentes depois que essa expressão é efetivada.
- compilador
Software que converte instruções de programa legíveis por humanos em instruções executáveis por computador, às vezes chamado de analisador. O período de tempo em que o compilador é executado é conhecido como tempo de compilação.
- compilação
O processo de converter programas de uma linguagem legível para humanos em instruções executáveis por computador.
- componente
Um ladrilho independente para renderizar uma parte de terreno. Às vezes, componentes são chamados de células. Consulte também World Partition.
São os componentes que fornecem os dados e o comportamento para as entidades no Scene Graph. Os componentes definem o que uma entidade deve fazer na cena.
Os componentes têm propriedades editáveis, que podem ser físicas, como uma malha estática ou um sistema de partículas; ou lógicas, como uma tag de jogabilidade ou um código Verse personalizado, que define o movimento de uma plataforma. Por padrão, todas as entidades têm um componente de transformação para especificar onde a entidade existe no mundo.
Em Verse, uma função ou um grupo de funções relacionadas em um programa que podem ser reutilizados.
- computes
Esse efeito indica que uma função retorna a mesma saída quando apresentada repetidamente com a mesma entrada.
- concatenar
Consulte concatenação.
- concatenação
Concatenação é quando uma string é anexada (adicionada) a outra string. Você pode usar o operador "+" para concatenar strings.
- concluído
O estado de uma tarefa que foi executada até sua conclusão.
- condicional
Uma expressão que avalia uma condição e executa instruções com base no resultado da condição. Um exemplo de condicional é uma expressão
if.- condição
Uma condição é algo que o programa pode verificar se é true (verdadeiro) ou false (falso). Uma expressão condicional pode avaliar a condição e retornar um resultado true ou false.
- condição race
Uma condição race ocorre quando um programa tenta realizar duas ou mais operações ao mesmo tempo em operações que devem ser feitas em sequência para serem feitas corretamente.
- constante
Uma constante é um local onde um valor é armazenado, e seu valor não pode ser alterado durante o tempo de execução do programa. É chamada de constante porque permanece constantemente a mesma.
A sintaxe básica para uma constante é
nome: tipo = valor. Onomeé um nome que você atribui à constante (conhecido como identificador). O sinal:indica que um tipo está chegando. O sinal=indica que um valor está chegando, e o próprio valor. Por exemplo:VersePlayerSpeed : float = 2.0Esse código indica que PlayerSpeed tem um valor de 2.0, representado como um valor decimal que não muda enquanto o programa está em execução.
Constantes sempre têm valores atribuídos. O nome e o tipo são a declaração, e a inicialização é onde esse valor é expresso.
Compare com variável.
Consulte mais informações em Constantes e variáveis.
- consulta
As expressões de consulta usam o operador
?para verificar se uma lógica ou um valor opcional éverdadeiro.- contexto
O escopo do código que define o tempo de vida de vários elementos de linguagem e restrições. Esse geralmente é o intervalo entre o início e o fim de um bloco de código.
- contexto assíncrono
O escopo para onde uma expressão assíncrona, como uma chamada de corrotina, é permitida.
- contexto de falha
Um contexto de falha é um contexto em que é permitido executar expressões que podem falhar. O contexto define o que acontece se a expressão falhar.
- contrato com o gênio
Programar às vezes é comparado com firmar um contrato com o gênio, no sentido de que um programa seguirá suas instruções à risca, mesmo quando o resultado não for exatamente o que você esperava. Consulte também programa.
- contêiner
No UEFN, um contêiner é uma classe que contém propriedades que podem ser aplicadas a vários objetos.
Em Verse, um contêiner é uma maneira de organizar dados em código. Consulte mais informações em tipo de contêiner.
- converges
O "menor" conjunto de efeitos. É um código que garante produzir um valor em um tempo finito sem divergir.
- conversão de tipo
Você pode converter uma classe em uma de suas subclasses (chamada conversão de tipo) usando a sintaxe
NewReference := type_to_cast_to[Reference], em quetype_to_cast_toé o tipo que você deseja usar. Esta é uma expressão falível porque a conversão de tipo falhará se o objeto não puder ser convertido naquele tipo; por exemplo, se a classe for um tipo diferente da subclasse.O exemplo a seguir mostra como converter
TaggedDevice, que tem o tipocreative_device_base, em um tipocustomizable_light_devicepara que você possa usar suas funções específicas. SeTaggedDevicenão for um dispositivo Luz Personalizável, ele não fará a chamadaTurnOn().Verseif (LightDevice := customizable_light_device[TaggedDevice]): LightDevice.TurnOn()- corpo
Um bloco com o próprio escopo que define as subexpressões de um elemento de linguagem, como um corpo de função ou um corpo de loop. Por exemplo, o corpo de uma função contém expressões que definem o que a função faz, e quaisquer variáveis declaradas na função são locais para o corpo dessa função.
- corrotina
Uma rotina com uma duração que executa o trabalho ao longo do tempo ou aguarda a ocorrência de vários eventos e estados, ou uma combinação de ambos. Corrotina é sinônimo de função assíncrona.
- código
Código, às vezes chamado de código-fonte, são as instruções escritas por um programador que informam a um programa de software como operar. O código-fonte da linguagem Verse pode ser lido pelo programador, mas não pelo computador. Para que o computador possa ler ou executar o programa, ele deve ser convertido em instruções executáveis por computador, chamadas de compilação. Quando um programador diz que está programando, significa que está escrevendo essas instruções.
- dados
Geralmente, dados se referem aos valores usados em uma expressão.
- decides
Um efeito que indica que a função pode falhar e que chamar essa função é uma expressão falível. As definições de função com o efeito "decides" também devem ter o efeito transacts, o que significa que as ações realizadas por essa função podem ser revertidas como se as ações nunca tivessem sido executadas se houver uma falha em qualquer parte da função.
- declarar
Você declara uma variável ou uma função especificando seu identificador e tipo. Compare com inicializar.
- declaração
Uma declaração é uma expressão em que um identificador é introduzido, junto com seu tipo. Pode ou não ser implementada (usada) e pode ou não ter um valor atribuído (inicializada).
var name : tipo = expressioné a sintaxe para a declaração de uma variável. Por exemplo:Versevar PlayerSpeed : float = 2.0Esta linha de código declara que uma variável chamada PlayerSpeed tem um valor float.
Neste exemplo, a última parte,
= 2.0, é a inicialização, que fica separada da declaração.- decorar
No contexto de programação, decorar significa envolver uma parte do código com outra.
- definir
Consulte definição.
- definição
Uma definição ocorre quando um identificador é implementado ou tem um valor atribuído, como uma definição de função ou uma definição de classe. Compare com declaração.
- dependência
A dependência ocorre quando um módulo depende de outros módulos para alguma funcionalidade.
- depurador
Uma ferramenta usada para depuração, onde você pode ver o estado do programa em cada etapa de execução.
- depuração
O processo de identificação e resolução de erros em seu código.
- desenvolvedor
Alguém que usa ferramentas do Fortnite para criar (desenvolver) uma ilha no Fortnite, principalmente ao usar o UEFN. Este termo inclui desenvolvedores, artistas e arquitetos de ilhas do Fortnite.
- destruição determinística
A destruição determinística, encontrada em algumas linguagens de programação, ocorre quando objetos são destruídos no momento em que um programa sai de seu escopo.
- determinístico
Um sistema determinístico é aquele em que o mesmo estado inicial ou entrada sempre produzirá os mesmos resultados.
- disparar e esquecer
Disparar e esquecer refere-se a uma expressão em que você não se importa quando ela é concluída ou se ela é concluída com êxito. Isso é extremamente raro.
- dispositivo
Dispositivos são objetos no Fortnite que realizam tarefas específicas destinadas a controlar a jogabilidade.
Um dispositivo, como um adereço, é algo que você pode colocar na sua ilha. Porém, dispositivos são diferentes de adereços, já que você os usa para criar interações com os jogadores. Dispositivos diferentes fazem coisas diferentes, mas todos fazem alguma coisa.
Pense em um dispositivo como um pacote de mecânicas de jogo com funcionalidades específicas que podem ser personalizadas para oferecer suporte à sua jogabilidade. A maioria pode ser personalizada, mas todos eles possuem uma configuração padrão que dita o comportamento deles caso não sejam personalizados.
No Verse, um dispositivo é o bloco de construção básico usado para criar as mecânicas de jogo. O dispositivo conduz as interações do jogador que controlam a jogabilidade.
- dispositivo criado com Verse
Um dispositivo para uso no Unreal Editor para Fortnite (UEFN) programado diretamente usando Verse.
- divergir
A execução de um programa divergirá se não terminar conforme o esperado. Se gerar um valor dentro de um período finito sem divergir, ela converges.
- doc
Um campo de observação genérico que você encontrará em classes e funções (mas não em parâmetros de função) e que contém informações úteis sobre o que o elemento que ele descreve faz ou como usá-lo, e é usado para preencher a página desse elemento na referência da API Verse.
- domínio
Domínio é o conjunto de entradas aceitas por um determinado parâmetro. Um tipo é uma maneira de especificar um domínio, mas o domínio é mais abrangente do que o tipo.
- editable
Um atributo que você pode adicionar ao código para expor propriedades no UEFN. Marcar código com este atributo consiste em adicionar um
@nome_do_atributo(neste caso,@editable) antes de um identificador de campo:Verse@editable PropertyName : type = DefaultValuePor exemplo, o campo de string
GreetingMessageé uma propriedade editável com o valor padrão"Hello, stranger":Verseexpose_properties := class(creative_device): @editable GreetingMessage : string = "Hello, stranger"Para saber mais sobre como usar esse elemento, consulte Como personalizar as propriedades do seu dispositivo no editor.
- efeito
Um efeito é uma categoria de comportamento que uma função pode exibir.
No exemplo abaixo, o código diz que uma função se chama
IsCriticalHealthe recebe um valor inteiro como entrada por meio do parâmetroHealth. Em seguida, ele indica que os efeitos que a função exibe sãodecidesetransacts, o que significa que a função é um contexto de falha e suas ações poderão ser revertidas se a função falhar. Se o valor deHealthque for transmitido como entrada para a função for maior que 0.0 e menor ou igual a 30.0, a função terá sucesso. Caso contrário, a função falhará e o contexto que chamou a função deverá tratar a falha.VerseIsCriticalHealth(Health : float)<decides><transacts> : void = ((Health > 0.0) && (Health <= 30.0))Para saber mais sobre esse assunto, consulte Especificadores e atributos.
- efeito aditivo
Um efeito aditivo é um efeito que pode ser adicionado a um efeito exclusivo. Os efeitos aditivos incluem
suspendsedecides.- efeito colateral
Um efeito colateral ocorre quando algum código, como uma função ou uma expressão, modifica algum estado fora de seu escopo.
- efeito exclusivo
Alguns efeitos são considerados efeitos exclusivos aos quais efeitos aditivos podem ser adicionados, mas que não podem ser usados com outros efeitos exclusivos. Efeitos exclusivos incluem
computes,variesetransacts. Os efeitos aditivos incluemsuspendsedecides.- elemento
Uma única parte de um grupo maior. Por exemplo, uma matriz pode conter diferentes elementos que podem ser armazenados e usados individualmente.
- embutido no código
Dados embutidos no código ("hard-coded", em inglês) são gravados diretamente no código em vez de serem atribuídos a uma variável. Geralmente, torna o código menos flexível e mais difícil de atualizar, mas há ocasiões em que faz mais sentido.
- erro de sintaxe
Consulte erro do compilador.
- erro do compilador
Um erro do compilador é causado pelo uso incorreto de código detectado pelo compilador Verse no tempo de compilação. Compare com bugs, que ocorrem no tempo de execução.
- erro semântico
Consulte erro do compilador.
- escopo
Escopo se refere à parte do programa onde a associação de um nome a um valor é válida e onde esse nome pode ser usado para se referir ao valor. Por exemplo, quaisquer constantes ou variáveis que você cria em uma função só existem no contexto da função. Isso significa que o tempo de vida dos objetos é limitado ao escopo em que são criados e não pode ser usado fora desse bloco de código.
- especificador
Um especificador aplica informações adicionais a uma definição. Por exemplo, o especificador de efeito
decidesem uma definição de função marca a função como falível.Os especificadores se enquadram em uma destas duas subcategorias: especificadores de acesso e de efeito.
- especificador de acesso
Especificadores de acesso definem o nível de acesso. Confira a seguir todos os especificadores de acesso que você pode usar com as classes:
public: acesso irrestrito.
internal: acesso limitado ao módulo atual. Este é o acesso padrão.
protected: acesso limitado à classe atual e a quaisquer subclasses.
private: acesso limitado à classe atual.
- estado
Um estado é a combinação dos valores originais em um objeto com quaisquer modificações feitas.
- estado do jogo
O estado de um jogo ou outra simulação. É composto de todos os valores de dados que descrevem um sistema. Valores constantes e variáveis determinam o estado do sistema.
- exclusão mútua
Quando mais de um processo acessa o mesmo segmento de código, esse segmento é chamado de seção crítica. A exclusão mútua é uma maneira de garantir que dois processos não possam acessar uma seção crítica ao mesmo tempo.
- executar
Rodar um programa.
- execução
O processo em que um computador interpreta um programa e executa as instruções desse programa.
- execução especulativa
A linguagem Verse aproveita o contexto de falha para poder testar ações sem confirmá-las. Isso é chamado de execução especulativa. Quando uma expressão é bem-sucedida, o efeito dela é confirmado, como a alteração no valor de uma variável. Se a expressão falhar, os efeitos da expressão serão revertidos, como se a expressão nunca tivesse acontecido.
- execução sequencial
O código geralmente é executado linha por linha, na ordem em que as expressões aparecem. Isso é chamado de execução sequencial.
- expedir
Expedir é enviar algo para algum lugar. Em Verse, isso pode ser usado para expedir uma chamada para uma função ou um evento para um ouvinte, por exemplo.
- Explorador do Verse
- expor
Uma propriedade é exposta no UEFN atribuindo-lhe o atributo
editableno código Verse. Isso significa que você pode editar a propriedade exposta diretamente na interface do UEFN. Consulte também editável.- expressão
Uma expressão é a menor unidade de código (uma combinação de valores e funções) que tem um resultado quando avaliada.
O exemplo abaixo é uma expressão
if ... else, o que significa que se o valor atender a um determinado critério, será uma coisa, mas se não atender, será outra.Verseif (a > 5): “Big!” else “Small!”Em Verse, tudo é uma expressão, desde literais até chamadas de funções ou fluxos de controle.
O que é semelhante a uma instrução, que é um comando autônomo que não possui um valor resultante. Em Verse, tudo é uma expressão, e não há distinção entre instruções e expressões que podem resultar em um valor.
Consulte obter informações mais detalhadas em Expressões.
- expressão block
Uma expressão "block" é uma maneira de agrupar expressões como uma única expressão ou aninhar um bloco de código. Expressões "block" se comportam de maneira semelhante aos blocos de código.
- expressão branch
Uma expressão de
ramificaçãoinicia um bloco de uma ou mais subexpressões assíncronas. Qualquer expressão a seguir é executada imediatamente.Consulte mais informações em Simultaneidade.
- expressão case
Uma expressão case pode controlar o fluxo de um programa a partir de uma lista de opções. Consulte mais informações em Caso.
- expressão de atribuição
Em Verse, uma expressão de atribuição armazena um valor em um local mutável, como ao inicializar uma variável ou alterar o valor de uma variável.
- expressão de comparação
Em Verse, expressões de comparação ocorrem quando você compara dois elementos usando um dos operadores de desigualdade:
<,>,<=,>=,<>.- expressão de decisão
As expressões de decisão usam os operadores
not,andeorpara fornecer controle sobre o fluxo de decisão de sucesso e falha.- expressão de igualdade
Em Verse, expressões de igualdade ocorrem quando você compara se dois elementos são iguais usando o operador "=".
- expressão de intervalo
As expressões de intervalo contêm todos os números entre dois valores especificados, com
..entre os valores; por exemplo,1..5. As expressões de intervalo só podem ser usadas em lugares específicos, como em expressõesfor.- expressão de nível superior
Uma expressão de nível superior é uma expressão que não está aninhada em um bloco de código. As expressões de nível superior também podem ser expressões compostas, como blocos de código aninhados.
- expressão falível
Uma expressão falível é uma expressão que pode ter sucesso e produzir um valor ou falhar e não retornar nenhum valor. Exemplos de expressões falíveis incluem a indexação em uma matriz, pois um índice inválido falhará e o uso de operadores para comparar dois valores.
- expressão for
Uma expressão
for, às vezes chamada de loop for, é o mesmo que uma expressão loop, com a diferença de que as expressõesforsão restritas, o que significa que o número de iterações é conhecido antes que o loopforseja executado e as decisões sobre quando sair do loop são automatizadas. Consulte mais informações em For.- expressão if
Com a
ifexpressão, você pode tomar decisões que alteram o fluxo do programa. Assim como em outras linguagens de programação, a expressãoifem Verse oferece suporte à execução condicional, mas em Verse, as condições usam sucesso e falha para direcionar a decisão.- expressão matemática
Em Verse, uma expressão matemática é uma expressão que usa um dos seguintes operadores:
+,-,*ou/.- expressão spawn
Uma expressão
spawninicia uma função assíncrona. Qualquer expressão que segue a expressão "spawn" é executada imediatamente, sem aguardar a conclusão da expressãospawn. Ospawncontinua independentemente até que seja concluído.- f
Consulte float.
- falhar
Em Verse, os códigos que o usuário escreve não podem falhar, por padrão. Isso significa que, em vez de ter uma função que retorna booleanos ou opções, ele usa
<decides>para retornar um valor, void ou falhar.- final
Um especificador que só pode ser usado em classes e membros de classes:
Quando uma classe tem o especificador final, não é possível criar uma subclasse da classe.
Quando um campo tiver o especificador "final", não será possível substituir o campo em uma subclasse.
Quando um método tiver o especificador final, não é possível substituir o método em uma subclasse.
- Floor
Uma operação matemática que arredonda um valor racional para baixo até o número inteiro mais próximo. Compare com
Ceil.- fluxo de tempo
Uma seção de uma grade em uma superfície, como um piso ou uma parede.
O controle de fluxo de tempo está no centro da linguagem de programação Verse e é realizado com expressões simultâneas.
O fluxo de tempo é um tipo de controle de fluxo, mas enquanto o fluxo de controle trata da ordem na qual um computador executa instruções com base na ordem das expressões no programa, o fluxo de tempo controla a execução no tempo, não na sequência, com base em como as expressões de coocorrência são usadas.
O fluxo de tempo é outra maneira de se referir à simultaneidade.
- fortemente tipada
Uma linguagem de programação é fortemente tipada quando um tipo é atribuído a cada identificador. Quando o tipo não é fornecido explicitamente, ele é inferido. Isso significa que a linguagem não produzirá resultados imprevisíveis durante o tempo de execução, porque o tipo desses identificadores e como as operações afetam esses tipos são conhecidos. Consulte também verificação estática.
- função (código)
Uma função (também chamada de rotina) é um código reutilizável que fornece instruções para executar uma ação ou criar uma saída com base na entrada.
Para definir uma função, você deve fornecer três partes principais: um nome único, o tipo de informação a ser esperada como seu resultado e o que a função fará quando chamada.
A seguir está a sintaxe básica de uma função:
Versename() : type = codeblockO "name()" e o tipo separados por dois pontos: essa é a assinatura da função, que é como você chama e usa a função, e o valor que deve ser retornado por ela é do tipo que você fornece. Esse formato é semelhante a como você cria constantes, exceto pelos () após o nome, que imitam como você faz a chamada da função em seu código.
O bloco de código da função: você define o que a função fará quando for chamada, fornecendo
=codeblock, ondecodeblocké qualquer sequência de uma ou mais expressões. Sempre que você chama a função, as expressões no bloco de código são executadas.
- futura
Uma tarefa que começou a ser executada, mas foi suspensa sem ser cancelada. É futura porque será concluída em algum momento no futuro.
- gerador
Um gerador produz uma sequência de valores, um de cada vez, e dá um nome ao valor na sequência.
- gráfico de chamadas
Uma lista dos métodos em uma pilha de chamadas, com informações sobre cada chamada, como tempo de execução, carimbos de data/hora e o identificador da função.
- herança
Em Verse, você pode criar uma classe que estende a definição de outra classe adicionando ou modificando os campos e métodos da outra classe. Isso geralmente é chamado de subclasse ou herança, porque uma classe herda as definições da outra classe.
- hexadecimal
Em Verse, você pode usar o sistema de numeração hexadecimal (base 16) para representar números inteiros, em vez do sistema de numeração decimal que usa base 10. Isso significa que os valores hexadecimais são representados com os dígitos de 0 a 9 e as letras de A a F. Por exemplo, 0x7F é o mesmo que 127, e 0xFACE é o mesmo que 64206.
Essa é uma forma alternativa de representar números inteiros.
- hierarquia de efeitos
Um efeito é uma categoria de comportamento que uma função pode exibir. A aplicação de efeitos exclusivos a uma função tem uma hierarquia, com efeitos mais altos na hierarquia permitindo pelo menos todos os comportamentos dos efeitos abaixo deles. A hierarquia é:
transactsvariescomputesconverges
O efeito
transactsincluirá propriedades para os efeitos abaixo, o efeitovariesinclui os efeitoscomputeseconverges, mas nãotransacts, e assim por diante.- hierárquico
Ter níveis claros ou hierarquias de classificação, importância ou controle. Pai/filho e superclasse/subclasse são exemplos de relacionamentos hierárquicos comuns.
- IDE
Um ambiente de desenvolvimento integrado (IDE) é um software que fornece uma interface de usuário para a criação e depuração de programas.
- identificador
Um identificador é o nome dado aos itens de um programa, como variáveis ou funções, para identificá-los exclusivamente.
- imediata
Uma expressão imediata é avaliada sem atraso, o que significa que a avaliação será concluída dentro da atualização da simulação atual.
- imutável
Após a criação de um objeto, seu estado não pode ser modificado. Compare com mutável.
- inferir
Há instâncias em que você não precisa especificar explicitamente o tipo, como ao criar uma constante. Por exemplo, em
MyConstant := 0, o tipo para MyConstant é inferido como inteiro porque um valor inteiro é atribuído a ele. Em instâncias como essa, o tipo é inferido.- infixo
Um formato para um operador em que há dois operandos e o operador está entre os operandos.
- inicializar
Para criar uma variável, especifique seu identificador e tipo, o que é chamado de declaração de uma variável, e atribua um valor à variável, o que é chamado de inicialização.
- inscrever-se
Inscrição é uma maneira de especificar a função que você deseja chamar quando um evento é gerado. Isso é chamado de vinculação a um evento. A função vinculada é chamada de manipulador.
- instanciar
Para criar uma instância de algo.
Em Verse, instanciar é criar uma instância ou um valor de uma estrutura de dados ou tipo, como uma classe ou estrutura. Consulte também instanciação de arquétipo.
- instanciação de arquétipo
O processo de criação de um arquétipo. Compare com construtor, que também pode executar lógica ou outras funções.
- instrução
Um comando autônomo que não possui um valor resultante. A linguagem Verse não usa instruções. Em vez disso, usa expressões.
- instância
Pense em uma instância como uma cópia única de um ativo. O ativo original determina as propriedades padrão de qualquer nova instância que você cria. As alterações feitas nas propriedades de uma instância não afetam o ativo original. Por exemplo, você pode alterar um material para ter uma aparência diferente sem alterar o material-base. Esta seria uma instância de material.
Em Verse, uma instância serve para criar uma variável, especificar seu identificador e tipo, o que é chamado de declaração de variável, e atribuir um valor à variável, o que é chamado de inicialização.
- integrado
Em algumas linguagens de programação, algo que está integrado é algo que você pode usar diretamente na linguagem e em suas bibliotecas padrão.
- inteiro
Um número inteiro é um número não fracionário que pode ser positivo, negativo ou zero.
- inteiro com sinal
Um inteiro com sinal é um valor que pode conter um número negativo ou positivo, ou zero. É chamado de inteiro com sinal porque pode usar um sinal + ou - à esquerda para indicar se o número é positivo ou negativo. Um inteiro sem sinal só pode ser um número positivo ou zero.
- inteiros alternativos
Consulte hexadecimal.
- interpolação
A mescla de novos valores que se encontram entre valores conhecidos.
- intérprete
Um programa que analisa e executa um programa linha por linha.
- invocar
Consulte chamada.
- iterar
Executar o código de cada elemento de uma sequência.
- linguagem de mundo aberto
Uma linguagem na qual módulos interdependentes criados por muitos usuários e organizações diferentes podem evoluir ao longo do tempo sem comprometer a compatibilidade de interface e a compatibilidade persistente de dados, seguindo regras de subtipagem claramente definidas.
- linguagem de programação
Uma linguagem formal usada para criar programas de computador. Existem muitas linguagens de programação, e cada uma tem suas próprias regras exatas. Exemplos seriam o Scratch, uma linguagem de programação visual usada para desenvolver histórias interativas, jogos e animações, ou o C++, uma linguagem baseada em texto que é frequentemente usada no desenvolvimento de jogos. O Verse é uma linguagem de programação desenvolvida pela Epic Games para criadores que desejam aprender mais sobre o uso de ferramentas de desenvolvimento.
- linguagem de programação visual
Um tipo de linguagem de programação em que o programador usa elementos visuais arrastando-os e conectando-os a outros elementos para definir uma sequência específica de instruções do programa.
- lista de alterações
Uma maneira de rastrear alterações em um arquivo no Perforce entre arquivos locais que estão armazenados em seu computador e arquivos que são enviados ao servidor e mesclados com os arquivos de origem do projeto. Uma lista de alterações também pode ser chamada de CL.
- lista vinculada
Uma estrutura de dados linear em que cada elemento armazena uma referência ao próximo elemento na lista.
- literal
Um valor fixo na linguagem de programação do Verse, como um número ou um caractere. Por exemplo, 1 é um literal inteiro.
- local
Refere-se a uma constante ou variável dentro de um bloco de código. Esses elementos não podem ser usado fora do bloco de código onde foram criados. Consulte também escopo.
- locale
Em programação, local é um conjunto de parâmetros que define o idioma, a região e outros aspectos da interface de usuário de um usuário. Em Verse,
localespecificamente é um tipo que define um contexto para quandomessagedeve ser localizada e afeta o idioma de texto e números com base no local.- loop de jogo
Um loop de jogo é um código que é executado repetidamente (loops) para responder a uma entrada para atualizar o estado do jogo, e fornece uma saída que mostra ao jogador que ele afetou o estado do jogo, como quando ele pressiona um botão que acende uma luz. O loop geralmente termina quando o jogo atinge um estado de conclusão, como o jogador atingindo uma meta, ou estado de falha, como o jogador ficando sem tempo antes de atingir a meta.
- loop infinito
Um bloco de loop que se repetirá para sempre. Consulte também loop e break.
- Lógica booleana
Um sistema de lógica em que o valor expresso é verdadeiro ou falso e que é frequentemente usado para determinar o controle de fluxo em linguagens de programação. O nome é uma homenagem a George Boole (1815-1864), um matemático que deu importantes contribuições para os campos da lógica e da álgebra.
Em Verse, este é o tipo usado para representar se verdadeiro e falso é
lógico. Essa lógica booleana é realizada por meio de expressões falíveis em contextos de falha.- manipulador
Um manipulador é a função chamada para responder a um evento vinculado. Por exemplo, se você vincular uma função ao InteractedWithEvent de um botão, cada vez que um jogador interagir com esse botão, o manipulador associado a esse evento será chamado.
- marca de verificação
Consulte atualização de simulação que é usada como sinônimo de marca de verificação e, ocasionalmente, quadro.
- membro
Uma variável ou função nomeada que é uma subparte de uma estrutura de dados composta (como uma classe, estrutura, interface ou módulo Verse). As variáveis de membro geralmente são chamadas de campos, e as funções de membro de métodos.
- membro de dados
Consulte membro.
- membro público
- message
messageem Verse é um tipo que pode conter texto independente do local. Quando vocêinicializar uma variávelmessagecom um valor destring, essa string é o texto e o idioma padrão da mensagem.- Modo de animação pingue-pongue
Inverter a direção de uma animação quando o keyframe final é alcançado, ou reproduzir novamente na direção contrária.
- mutex
Um "mutex" é uma primitiva de sincronização que concede acesso exclusivo a um recurso compartilhado usando apenas um thread. Consulte também exclusão mútua.
- mutável
Refere-se a um estado de objeto que ainda pode ser modificado após a criação. Em Verse, a mutabilidade só é possível com ponteiros.
Compare com imutável.
- método
Um método é uma função anexada a uma classe e só pode ser chamado em uma instância dessa classe.
- módulo
Um módulo Verse é uma unidade atômica de código que pode ser redistribuída e na qual pode-se confiar, podendo evoluir ao longo do tempo sem quebrar as dependências. Você pode importar um módulo para seu arquivo Verse para usar definições de código de outros arquivos Verse.
Consulte mais informações em Módulos e caminhos.
- NaN
Um valor que representa algo que não é um número (Not a Number).
- native
O especificador
nativeindica que os detalhes da definição de um elemento são implementados em C++. Esse especificador pode gerar automaticamente definições C++ que podem ser usadas por um desenvolvedor. O especificadornativeé usado em classes, interfaces, enumerações, métodos e dados.- native_callable
Indica que um método de instância é nativo (implementado em C++) e pode ser chamado por outro código C++. É possível ver esse especificador usado em um método de instância. Como esse especificador não se propaga para subclasses, você não precisa adicioná-lo a uma definição ao substituir um método que tenha esse especificador.
- no-rollback
Esse efeito indica que as leituras e gravações de dados mutáveis de uma função não podem ser desfeitas, o que significa que a função não pode ser invocada em um contexto de falha (que tem comportamento de reversão em caso de falha).
- numeração baseada em zero
Uma forma de numeração em que o primeiro elemento de uma sequência seria atribuído como 0, em vez de 1, Isso significa que a posição zero em um índice representa 1, a primeira posição representa 2 e assim por diante. Sequências de numeração que começam em 0 são comuns em notação matemática. Em programação, essa primeira posição em uma matriz às vezes é chamada de posição zero.
- nível de acesso
As permissões necessárias para acessar um membro. Elas são especificadas usando um especificador no membro.
- nó
No UEFN, um nó é uma unidade fundamental dentro de um sistema baseado em gráfico que representa uma função, operação ou ponto de dados específico. No contexto de gráficos de nós, um nó é um componente individual que processa ou roteia sinais de áudio, como uma fonte do som, um efeito (como reverberação ou atraso), um mixador ou uma saída.
Para Verse, consulte nó de lista vinculada.
- nó de lista vinculada
Cada elemento em uma lista vinculada é chamado de nó. Um nó é um contêiner que inclui alguns dados e uma referência ao próximo nó da lista.
- nó final
O primeiro nó em uma lista vinculada é chamado de nó inicial, e o último nó é chamado de nó final.
- nó inicial
- número de ponto flutuante
Um termo usado em várias linguagens de programação para definir uma variável com um valor fracionário ou um número que contém um ponto decimal, como 0.5 ou 1.0. Números criados usando uma declaração de variável float terão dígitos em ambos os lados de um ponto decimal.
- número racional
Um número que pode ser expresso como uma fração simples usando dois números inteiros. Por exemplo, 1,75 também pode ser expresso como 7/4, mas a raiz quadrada de 2 (√2) não pode ser expressa como uma fração e, portanto, é considerada um número irracional. Outro exemplo de número irracional é o Pi, que começa com 3,14159... e continua infinitamente.
- objeto
No UEFN, um objeto é outra palavra para ativo.
Em Verse, uma instância de uma classe é um objeto. Uma instância tem os mesmos comportamentos definidos por seu tipo de classe, mas com valores reais.
Os termos instância e objeto são sinônimos.
- operador
Um símbolo que representa uma ação ou um processo. Por exemplo, em
1 + 2, o+é o operador.- operando
A quantidade na qual uma operação é realizada. Por exemplo, na expressão
1 + 2, o+é um operador e1e2são ambos operandos.- operação
Uma ação executada por um programa para realizar uma tarefa específica. Existem quatro grupos básicos de operação do computador: entrada, processo, saída e armazenamento. Uma operação é um tipo de expressão.
- ordem de avaliação
Refere-se à precedência do operador: a ordem na qual certas operações devem ser executadas em uma expressão.
- palavra-chave
Palavras-chave são palavras reservadas que têm um significado especial para o compilador. Exemplos de palavras-chave são
foreclass. Palavras-chave não podem ser usadas como identificadores.- par chave-valor
Quando uma chave é associada a um valor, juntos eles formam um par chave-valor. Você pode procurar o valor usando a chave.
- paradigma
Um padrão ou modelo típico para algo. Na programação, um paradigma é uma maneira pela qual uma linguagem de programação é organizada. Existem quatro paradigmas principais para linguagens de programação:
Imperativo
Lógica
Funcional
Orientado a objetos
Existem também linguagens multiparadigmáticas, como Verse.
- paralelo
Vários cálculos executados no mesmo período físico, como em processadores separados, são paralelos.
- parâmetro
Uma variável de entrada que inclui uma domínio como um tipo e um valor padrão opcional que é definido em uma assinatura de função, que é então usado no corpo da função. Compare com argumento.
- Perforce
O Perforce (P4) é uma ferramenta de software que fornece controle de revisão (também conhecido como controle de código-fonte ou controle de versão), que é uma maneira de rastrear e gerenciar alterações no código do software. Isso é útil quando você tem equipes de programadores trabalhando no mesmo projeto. Quando alguém comete um erro, o controle de versão possibilita comparar versões anteriores do código para encontrar e corrigir o problema sem interromper o trabalho de todos.
- persistência
Quando os dados do jogador são salvos de uma sessão e recarregados na próxima sessão desse jogo, isso é chamado de ‘persistência’.
- pilha de chamadas
A pilha de chamadas é o que um programa usa para acompanhar as chamadas: quais funções estão em execução, quais foram concluídas e quais ainda estão por vir.
- Pingue-pongue
Inverter a direção para frente e para trás.
- playspace
Um módulo de API Verse que você pode usar para obter uma matriz de jogadores ou equipes, ou a equipe de um determinado jogador. Ele também permite que você se inscreva em eventos adicionados e removidos por jogadores.
- polimórfico
Polimórfico vem de poli-, que significa muitos, e -mórfico, que significa forma. O comportamento polimórfico ocorre quando uma variável pode ter valores diferentes sob condições diferentes.
- ponteiro
Um ponteiro é uma maneira de referenciar uma "caixa" mutável que pode conter um tipo de valor especificado. Com um ponteiro, você pode alterar o valor específico nessa caixa. Compare com valor.
- ponto de código
Um valor no espaço de código Unicode para codificação de caracteres.
- precedência
A ordem em que certas operações precisam ser executadas em uma expressão.
- precedência de operadores
Isso se refere à ordem de avaliação integrada ao combinar operadores em Verse. Por exemplo, se vários operadores forem usados na mesma expressão, a ordem em que são avaliados é importante.
Por exemplo,
1 + 2 * 3não é avaliado como3 * 3, pois a multiplicação tem precedência sobre a adição.A precedência de operadores pode ser substituída por expressões de agrupamento.
- predicado
Em Verse, um predicado é algo que tem sucesso ou falha.
- preempção
A interrupção temporária de uma tarefa em execução com a intenção de retomá-la posteriormente é chamada de preempção. Isso geralmente é feito por um agendador externo sem assistência nem cooperação da tarefa.
- prefixo
Um formato para um operador em que há apenas um operando e o operador fica antes do operando.
- programa
Um programa é um conjunto de instruções que indicam ao computador como fazer algo. O básico de qualquer programa é mostrar como o computador receberá a entrada e retornará a saída.
Um programa resolve problemas. No entanto, os programas são muito literais. É como firmar um contrato com um gênio: o gênio (neste caso, o programa) lhe dará exatamente o que você pedir. Exatamente. Erros ocorrem quando o programador faz suposições sobre o que deve acontecer em vez de descrever com precisão qual entrada pode ser recebida e qual saída resultará.
- programação
O ato de escrever instruções (um programa) que podem ser compiladas e executadas pelo computador.
- programação funcional
Um tipo de programação declarativa que se concentra no uso de funções. A programação funcional tem como objetivo facilitar o teste e a depuração, reduzindo os efeitos colaterais. Haskell é um exemplo de linguagem de programação funcional.
- programação imperativa
Um paradigma em que o programa descreve explicitamente como um programa é executado, passo a passo. C é um exemplo de linguagem de programação imperativa.
- programação lógica
Um paradigma de programação que usa lógica booleana para controlar como os fatos e as regras sobre os problemas dentro do sistema são representados ou expressos.
- programação lógica funcional
A combinação de paradigmas de programação funcional e lógica em uma única linguagem.
- programação orientada a objetos
Programação orientada a objetos (POO) é um paradigma de programação que se baseia no conceito de classes e objetos.
- projeção de raios
A projeção de raios traça uma linha invisível no espaço a partir de um objeto para descobrir se algo colide com ele.
- propagar
Propagar em uma função é o que ocorre quando o chamador não precisa gerenciar o que acontece no caso de falha. Por exemplo, uma função com um efeito
decidespoderia ser chamada a partir de outra função com um efeitodecides. O que quer que tenha chamado o chamador terá que lidar com a falha.- propriedade
Uma propriedade é um membro (campo) que possibilita retornar valores e expor esses valores.
- propriedade livre
- pseudocódigo
Pseudocódigo é uma descrição detalhada em linguagem simples (não em linguagem de programação) do que um algoritmo deve fazer. Pseudo- significa não verdadeiro ou não real, então, você pode dizer que o pseudocódigo é um código falso, mas é útil para determinar o que um algoritmo deve realizar.
Você também pode pensar no pseudocódigo como um esboço geral. O pseudocódigo geralmente é escrito para planejar uma parte grande ou complexa de um programa antes de escrever o código propriamente dito.
- pure
Declara que uma função sempre fornecerá exatamente a mesma saída se for dada a mesma entrada e não tem efeitos colaterais (grava em variáveis mutáveis, efeitos de E/S e assim por diante).
- pós-fixação
Um formato para um operador em que há apenas um operando e o operador fica depois do operando.
- quadrado
Uma seção de uma grade em uma superfície, como um piso ou uma parede.
Uma maneira de organizar visualmente as opções do menu.
Para o Verse: uma seção de uma grade em uma superfície, como um piso ou uma parede.
- quadro
Um quadro é uma imagem totalmente renderizada (como em um monitor de computador ou TV) representando uma simulação em um determinado ponto no tempo. Às vezes, um quadro é usado como sinônimo de uma atualização de simulação (ou marca de verificação), pois eles geralmente são simultâneos, embora novos quadros possam ocorrer em uma taxa diferente (com mais ou menos frequência) do que uma atualização de simulação. A taxa de quadros, ou FPS (quadros por segundo) para abreviar, é o número de quadros exibidos por segundo.
- qualificar
Definir um identificador dentro de um escopo que permite que o identificador seja "reutilizado". Por exemplo, você pode ter uma constante chamada "cat". Você pode usar o mesmo nome para um campo de classe chamado "sarah.cat". Ambos incluem "cat" no nome, mas "sarah.cat" foi qualificado.
- RAII
Um acrônimo para resource acquision is initialization, ou aquisição de recursos é inicialização, RAII descreve quando um objeto adquire recursos somente entre a inicialização e a finalização, como forma de gerenciar recursos com mais eficiência.
- recursão
Recursão ocorre quando uma função chama a si mesma.
- recursão infinita
A recursão infinita ocorre quando uma função chama a si mesma direta ou indiretamente, fazendo com que a função tente chamar a si mesma para sempre e nunca se encerrando. Isso faz com que o programa trave.
- refatorar
Alterar a estrutura do código sem alterar sua funcionalidade. Por exemplo, um bloco de código que é repetido várias vezes em um programa poderia ser refatorado em uma chamada de função. A refatoração pode aumentar a legibilidade e reduzir a complexidade do código sem alterar a maneira como o código se comporta.
- relação is-a
A relação entre uma classe pai e uma classe filho é chamada de relação "is-a". A classe filho em uma relação "is-a" herda da classe pai.
- REPL
Read-Evaluate-Print Loop, ou REPL, é um ambiente de computador em que você pode inserir código e fazer com que ele seja lido e avaliado, para depois ver os resultados. Com um REPL, é possível explorar uma linguagem e ver o que funciona (ou não funciona) sem causar problemas reais.
- restrito
Quando uma expressão é restrita, ela tem limites definidos.
- resultado
Quando uma expressão é executada e, em seguida, gera um valor , esse valor é um resultado.
- resumo
Uma lista gerada automaticamente de todos os símbolos públicos, como módulos, funções e classes, que o compilador Verse processou. Também inclui comentários. Você pode ler um arquivo de resumo para ver qual API e funcionalidade estão em um módulo associado.
- return
Uma expressão que instrui um programa a sair de uma sub-rotina e voltar ao endereço de retorno. O endereço de retorno é de onde a sub-rotina foi chamada.
Em vez de confiar na última expressão no bloco de código da função para produzir o valor correto, você também pode especificar explicitamente o resultado usando uma expressão
return. Quando a expressão `return` for executada, ela sairá do bloco de código da função imediatamente. Isso significa que, se você colocar a expressão `return` antes de outro código, o código que a seguir não será executado.- reverter
Restaurar um programa para um estado definido anteriormente, geralmente para se recuperar de uma expressão com falha.
- rotina
Consulte função.
- script
Uma quantidade independente de código Verse executável que está associado a um objeto.
- semáforo
Um semáforo é como um mutex, com a diferença de que um mutex bloqueia outros threads sem recursos disponíveis, enquanto um semáforo apenas sinaliza que o recurso está em uso.
- semântica
- Serialização
O processo de ler ou gravar dados de ou para o arquivo salvo. Uma propriedade livre criada com o mesmo arquivo que está sendo lido tem uma propriedade que a classe/estrutura não tem.
- set
Uma palavra-chave que pode ser usada para alterar o valor de uma variável durante a execução do programa.
A sintaxe para isso é
set name = value. Oseté a palavra-chave,nameé o nome da variável a ser alterada e ovalueé o valor para o qual ela deve ser alterada.Isso é chamado de atribuição.
- simultaneidade estruturada
A simultaneidade estruturada descreve operações simultâneas dentro de uma tempo de vida restrito a um comando simultâneo e a um escopo de contexto assíncrono específicos. Este é um controle de fluxo estruturado como
if,foroureturnque se restringe a um escopo associado.Em Verse, as expressões de simultaneidade estruturadas incluem
sync,race,rushebranch.- simultaneidade não estruturada
Expressões simultâneas com um tempo de vida que não é logicamente restrito a um comando simultâneo ou a um escopo de contexto assíncrono específico. Esse tempo de vida se estende, potencialmente, além do escopo em que a expressão foi executada. É semelhante ao controle de fluxo não estruturado, como o comando
gotoou osalto de montagem.- simultâneo
Vários cálculos executados no mesmo período efetivo são considerados simultâneos. Eles sobrepõem a atualizações, marcações e quadros de simulação lógica, mesmo que potencialmente espalhados pelo tempo físico, como em um único processador, e não necessariamente paralelos.
- sintaxe
As regras ou a gramática da linguagem de programação.
Compare com semântica.
- sobrecarga
Sobrecarregar uma função ou um operador significa que o mesmo nome de função ou símbolo de operador pode ter diferentes parâmetros. Por exemplo, se você diz que um vetor 3D é igual a outro vetor 3D, como (1,2,3), isso fica bem claro. Mas você pode usar o operador "igual a" para dizer que o vetor 3D é igual a um único número, como 1. Nesse caso, talvez o vetor 3D seja definido como (1,1,1), mas a parte de sobrecarga é a existência de vários operadores "Vetor 3D =" com parâmetros diferentes. A linguagem teria que analisar o contexto para decidir qual usar.
- sobrecarga de inteiro
Uma sobrecarga de inteiro ocorre quando é feita uma tentativa de armazenar um valor grande demais para os valores definidos para o tipo de inteiro.
- sombreamento
O sombreamento ocorre quando um identificador oculta outro identificador. O sombreamento é um erro em Verse e impede que a compilação do código.
- sondagem
A sondagem refere-se à amostragem ativa do status de um dispositivo externo por um programa cliente como uma atividade síncrona. A sondagem é usada com mais frequência em termos de entrada/saída (E/S) e também pode ser chamada de E/S com sondagem ou E/S orientada por software.
- splat
Quando uma tupla é usada como um único elemento para uma função, é como se essa função fosse chamada com cada um dos elementos da tupla separadamente. Isso é chamado de expansão de tupla ou splatting.
- STM
A memória transacional de software (STM) é um mecanismo de controle de simultaneidade análogo às transações de banco de dados para controlar o acesso à memória compartilhada na programação simultânea. No futuro, a linguagem Verse contará com a STM, pois ela possibilita ganhos de desempenho para grandes simulações distribuídas, entre outros motivos.
- string vazia
Uma string que não contém caracteres
""é chamada de string vazia.- sub-rotina
Um conjunto de instruções dentro de um programa de computador, destinadas a realizar uma operação usada com frequência. As sub-rotinas são semelhantes a funções, com a diferença de que uma função realiza alguns cálculos e retorna o resultado para o autor da chamada. As sub-rotinas fazem seu trabalho sem darem um retorno ao programa chamador.
- subexpressão
Uma expressão aninhada dentro de um bloco de código.
- submódulo
Um módulo Verse dentro de outro módulo Verse. Você pode pensar nisso como pastas e subpastas: cada submódulo adiciona outro /NameOfModule ao caminho à medida que desce.
- substituir
Em Verse, você pode substituir campos de uma superclasse e atribuir valores iniciais. Por exemplo:
Versetank := class(player_character): StartingShields<override> : int = 100 MaxShields<override> : int = 200 AllowOvershield<override> : logic = true DamageReduction : int = 50 CreateTankPlayerCharacter() : tank = return tank{}A classe tanque terá valores para
StartingShields,MaxShieldseAllowOvershieldque são diferentes dos valores da classe padrão.Você também pode substituir os valores do método da mesma maneira.
Consulte mais informações subclasse.
- subtipo
Um tipo que oferece suporte a todas as operações de seu supertipo. A palavra-chave
subtypepode ser usada com parênteses para especificar que um tipo é restrito a um determinado tipo. Por exemplo, vários métodos de matriz em Verse usamsubtypepara definir que todos os elementos da matriz devem ter o supertipo comparável para que o método funcione.Verse(Input:[]t where t:subtype(comparable)).RemoveFirstElement<public> (ElementToRemove:t)<computes><decides>:[]t RemoveFirstElementIsso requer que os elementos da matriz tenham um supertipo de
comparablepara que seja possível determinar se algum dos elementos da matriz é igual ao argumentoElementToRemove.- sucesso
Quando uma expressão é concluída sem falhar, ela tem sucesso. Compare com contexto de falha.
- superclasse
Classes podem herdar de uma superclasse, que inclui todos os campos da superclasse na classe herdeira. Essas classes são consideradas uma subclasse da superclasse.
- supertipo
Um supertipo é um tipo que tem pelo menos um subtipo. Quaisquer operações aceitas por um supertipo também devem ser aceitas por quaisquer subtipos. Em Verse,
anyé o supertipo acima de todos os outros tipos, e todos os outros tipos são subtipos deany. O tipocomparableé um supertipo de todos os tipos comparáveis em Verse, comointefloat.- suspends
Um efeito que interrompe (suspende) temporariamente uma função sem cancelá-la. Uma expressão
suspendspermite que funções assíncronas sejam suspensas e transfiram o controle cooperativamente para outras expressões simultâneas antes de serem concluídas.Consulte mais informações em Simultaneidade.
- tabuleiro
A superfície em que um jogo é jogado. Tradicionalmente, o termo tabuleiro é aplicado a jogos de tabuleiro. No entanto, está se tornando mais comum usá-la para descrever o nível de videogame. No desenvolvimento de jogos de vídeo, o nível do tabuleiro pode ser dividido em diferentes áreas ou zonas, com diferentes formas, disposição ou terrenos. Como acontece nos tabuleiros de mesa, os jogadores podem mover personagem ou objetos pelo tabuleiro (nível) para progredir no jogo.
- tempo de compilação
Quando o código-fonte é convertido em instruções de máquina. Compare com tempo de execução.
- tempo de execução
Refere-se ao tempo gasto executando o jogo, a simulação ou o aplicativo. Compare com tempo de compilação, que se refere ao tempo gasto na compilação, ou tempo de desenvolvimento, que se refere ao tempo gasto no desenvolvimento, compilação e depuração.
É comum diferenciar entre coisas que acontecem no tempo de execução e coisas que acontecem no tempo de compilação.
- tempo de invocação
O tempo necessário para uma expressão ser avaliada. Uma invocação imediata efetivamente não leva tempo. Uma expressão assíncrona pode ser concluída imediatamente ou pode ser latente.
- tempo de vida
O tempo entre a criação de um objeto e sua destruição. Sinônimo de vida útil.
- thread
A menor unidade de processamento que pode ser executada em um sistema operacional.
- tipagem dinâmica
Em uma linguagem de programação dinamicamente tipada, variáveis e expressões não possuem tipos atribuídos. Isso significa que o tipo não pode ser verificado até o tempo de execução. Compare com fortemente tipada.
- tipo
O tipo define quais [operações](#operação) podem ser executadas em [dados](#dados) e como esses dados, ou [valores](#valor), são armazenados para esse tipo. Existem tipos comuns, como número inteiro e string, tipos compostos e tipos personalizados. Consulte também tipo primitivo e tipo de contêiner. A
palavra-chavetype pode ser usada com chaves para definir um tipo esperado. Declarações de função e intervalos numéricos são atualmente aceitos como declarações. Por exemplo, a funçãoSubscribe()da interfaceassinávelusa a palavra-chavetypepara definir que seu parâmetroCallbackdeve ser uma função com um tipo de retornovoid.VerseSubscribe<public>(Callback:type {__(:t):void})<transacts>:cancelable- tipo composto
Um tipo de dados composto, às vezes chamado de composto ou agregado, é qualquer tipo que pode ser composto de campos ou elementos (geralmente nomeados) de tipos primitivos ou outros tipos compostos. Geralmente tem um número fixo de campos ou elementos para sua vida útil. Atualmente, a linguagem Verse usa os seguintes tipos compostos: struct, class, enum, interface e module.
- tipo comum
Tipos comuns são tipos integrados e usados com frequência. Tipos comuns incluem
any,comparable,float,int,logic,rationalestring.- tipo de contêiner
Você pode armazenar vários valores juntos usando um tipo de contêiner, como matriz, mapa, tupla e opção.
- tipo de dados
Consulte tipo.
- tipo integrado
Um tipo integrado não pode ser mais detalhado, ao contrário de um tipo composto.
- tipo paramétrico
- tipo primitivo
Um primitivo é qualquer tipo que não é criado a partir de outros tipos. Isso significa que um primitivo não é um composto e não pode ser subdividido. Exemplos de tipos primitivos integrados incluem:
void,logic,int,float,rationalechar. Primitivos são integrados à linguagem Verse.Compare com tipo de contêiner.
- transacts
Quando uma função tem o efeito
transacts, isso significa que a função pode ler e gravar dados, mas essas ações poderão ser revertidas se a função também tiver o efeito decides. Este efeito é um efeito exclusivo.Uma função sem efeito exclusivo especificado pode ler e gravar dados, mas não pode ser revertida.
- trecho
Consulte trecho de código.
- trecho de código
Um trecho é algum código, geralmente curto, que geralmente serve para mostrar ou implementar um conceito específico.
Os trechos de código não são programas autônomos completos. Trechos de código podem ser copiados e colados em blocos de código. Compare com amostra de código.
- troca de contexto
Uma troca de contexto é o processo de armazenar o estado de um processo ou thread para ele possa ser restaurado e retomar a execução posteriormente, restaurando em seguida um estado diferente, salvo anteriormente.
- Unicode
Um padrão de codificação de caracteres desenvolvido pela Unicode Consortium para fornecer suporte comparável para caracteres em vários idiomas, plataformas e dispositivos.
- unidade de código
A combinação mínima de bits que pode representar uma unidade de texto codificado. UTF-8 usa 8 bits para sua unidade de código.
- unique
O especificador exclusivo pode ser aplicado a uma classe para torná-la exclusiva. Para criar uma instância de uma classe exclusiva, a linguagem Verse aloca uma identidade exclusiva para a instância resultante. Assim, é possível comparar instâncias de classes exclusivas em termos de igualdade ao comparar suas identidades. Classes sem o especificador unique não têm essa identidade, por isso só podem ser comparadas em termos de igualdade baseadas nos valores dos seus campos. Isso significa que classes exclusivas podem ser comparadas com os operadores = e <> e são subtipos do tipo comparável.
- unset
- UTF-8
O esquema de codificação de caracteres Unicode ; um padrão desenvolvido pela Unicode Consortium para fornecer suporte comparável para caracteres em vários idiomas, plataformas e dispositivos.
Os emojis parecem imagens ou ícones, mas não são. São letras (caracteres) do conjunto de caracteres UTF-8 (Unicode).
O UTF-8 abrange quase todos os caracteres e símbolos do mundo.
- valor
Um valor é a informação que seu programa usa para operar. Exemplos de valores são números ou texto.
- varies
Esse efeito indica que a mesma entrada para a função pode nem sempre produzir a mesma saída. O efeito
variestambém indica que o comportamento da função não será necessariamente o mesmo ao usar novas versões do pacote que a contém.- variável (código)
Um valor que pode ser alterado enquanto um programa está em execução. É chamado de variável porque pode variar.
Às vezes, o termo "variável" refere-se a variáveis e constantes coletivamente, mas, embora variáveis e constantes sejam semelhantes, elas têm uma diferença importante: o valor de uma constante não pode ser alterado enquanto um programa está em execução.
A sintaxe básica de uma variável é
var name : type = value. Ondevaré uma palavra-chave que indica que se trata de uma variável, enameé um nome que você atribui à variável (conhecido como identificador). O sinal:indica que um tipo está chegando. O sinal=indica que um valor está chegando, e o próprio valor. Por exemplo:VersePlayerSpeed : float = 2.0Esse código indica que PlayerSpeed tem um valor de 2.0, representado como um valor decimal que não muda enquanto o programa está em execução.
O nome e o tipo são a declaração, e a inicialização é onde esse valor é expresso. Uma variável não precisa ter um valor atribuído quando inicializada, mas é uma boa prática fazer isso.
As variáveis diferem das constantes porque você pode alterar o valor de uma variável a qualquer momento. Isso é feito com uma expressão de atribuição.
- variável de ponteiro
Uma variável de ponteiro aponta para uma posição na memória onde um valor está armazenado. Após criar uma variável de ponteiro, você não pode alterar o local de memória dessa variável, mas pode alterar o valor armazenado nesse local de memória.
- variável self
Selfé um identificador especial em Verse que pode ser usado em um método de classe para fazer referência à instância da classe na qual o método foi chamado. Você pode fazer referência a outros campos da instância na qual o método foi chamado sem usarSelf, mas se for necessário fazer referência à instância como um todo, você precisará usarSelf.- verbosity
Uma configuração para limitar a quantidade de informações adicionais que serão exibidas quando um log for gerado.
- verificador de tipo
A verificação de tipo é usada para verificar um programa antes da execução. Assim, são verificados os valores e a sintaxe do tipo de dados. O principal objetivo de um sistema de tipos em uma linguagem de programação é reduzir a probabilidade de bugs em um programa devido a erros de tipo.
- verificação estática
Uma verificação automática durante a compilação que pode detectar um bug com base na semântica do código.
- Verse
Verse é uma linguagem de programação estaticamente verificada com ênfase na programação de jogabilidade.
- vida útil
Consulte tempo de vida.
- vinculado
Para o UEFN, consulte vincular.
Para Verse, uma variável na qual uma vinculação foi executada. Todas as variáveis em Verse são vinculadas imediatamente após serem definidas; elas não podem estar em um estado não vinculado.
- vincular
Na programação de computadores, vincular é criar uma conexão entre dois ou mais objetos de programação por um período especificado.
Para o Fortnite, vincular significa associar uma função a um evento.
Em Verse, vincular é criar uma conexão entre dois ou mais objetos de programação por um período de tempo especificado. Por exemplo, se vincularmos uma função a
InteractedWithEventde um botão, cada vez que uma pessoa interagir com esse botão, a função vinculada é chamada. Isso pode se referir à associação de uma variável com um valor ou objeto, ou à associação de um manipulador com um evento.- Visual Studio Code
O Visual Studio Code, também conhecido como VS Code, é um editor de código-fonte criado pela Microsoft para Windows, Linux e macOS.
- VPL
Consulte linguagem de programação visual.
- índice
Um índice representa as posições dos itens em uma sequência por representação numérica. Uma sequência pode ser uma lista, uma string de caracteres ou qualquer sequência arbitrária de valores.
Índices usam contagem baseada em zero. o que significa que a primeira posição no índice é 0, e a quinta posição seria 4.