Verse es un nuevo lenguaje de programación, así que, si tienes experiencia en programación y ves algo que no entiendes del todo, consulta este glosario.
Si no tienes experiencia en programación, este glosario también es para ti. Hemos añadido definiciones para un montón de términos básicos de programación. Seguro que encuentras las respuestas que necesitas aquí.
- abstracción
Un principio de programación en el que se ocultan al usuario los detalles innecesarios, cuando este no necesita comprender las complejidades ocultas. Por ejemplo, puedes meter dinero en una máquina expendedora y sacar una bolsa de patatas sin necesidad de entender cómo funciona la mecánica.
- abstract (clase)
Cuando una clase o un método de clase tiene el especificador abstract, no es posible crear una instancia de la clase. Una clase abstract está pensada para ser utilizada como superclase, donde se implementan o especifican algunos miembros pero no todos. También se conoce como clase base.
- actualización de la simulación
Una ronda, un paso o un incremento recurrentes de lógica, comportamiento y otros cálculos de una simulación. A menudo se abrevia como actualización o se utiliza como sinónimo de tic o fotograma. Una actualización de la simulación suele tener un tiempo transcurrido que puede ser constante o diferente. A esto se le suele llamar tiempo delta, que puede coincidir o no con el paso real del tiempo. Por ejemplo, una actualización de la simulación puede ser más rápida que el tiempo real, igual que el tiempo real o más lenta que el tiempo real.
Una actualización de la simulación tiende a realizarse en pasos 1:1 con renderizado de un fotograma: este es el valor predeterminado para Verse. Sin embargo, una actualización de la simulación puede ser menos o más frecuente que un fotograma, como sucede cuando un cliente del juego en línea se desincroniza con respecto al servidor o los sistemas físicos mientras realiza varias iteraciones de los cambios de un objeto simulado. También es posible que una simulación no se renderice visualmente en absoluto.
- acuerdo con un genio
Escribir código se compara a veces con hacer un acuerdo con un genio, en el sentido de que un programa seguirá exactamente tus instrucciones, aunque el resultado no sea exactamente el que esperas. Consulta también programa.
- agente
Un agente puede representar a un jugador o a un personaje no jugable (PNJ).
- agrupar
La acción de envolver una expresión entre
(). Esto especifica explícitamente el orden de evaluación. La agrupación también puede mejorar la legibilidad del código.- algoritmo
Un algoritmo es una secuencia de instrucciones escritas para resolver un problema o realizar una tarea. Se puede comparar con la receta de un plato. Cuando escribes un código que resuelve un problema o realiza una tarea, ese código es tu algoritmo.
- alias de tipo
Un alias de tipo es una forma de dar un nuevo nombre a un tipo existente. Cuando declaras un alias de tipo, puedes utilizar el nombre del alias en lugar del tipo existente. Un alias de tipo no crea un nuevo tipo, sino que solo proporciona un nuevo nombre para un tipo existente.
- analizador
Un programa para analizar código.
- analizar
En informática, analizar consiste en separar una cadena de comandos (normalmente un programa) en componentes más fáciles de procesar que se analizan para comprobar que la sintaxis es correcta y luego se adjuntan a las etiquetas que definen cada componente.
- anidado
Cuando el código está anidado, un bloque de código está contenido dentro de otro bloque de código que realiza una función más amplia.
- anular
En Verse, puedes anular campos de una superclase y asignarles valores iniciales. Por ejemplo:
Versetank := class(player_character): StartingShields<override> : int = 100 MaxShields<override> : int = 200 AllowOvershield<override> : logic = true DamageReduction : int = 50 CreateTankPlayerCharacter() : tank = return tank{}La clase tank tendrá valores para
StartingShields,MaxShieldsyAllowOvershielddiferentes de los valores predeterminados de la clase.También puedes anular los valores de los métodos del mismo modo.
Para obtener más información al respecto, consulta subclase.
- análisis semántico
También se conoce como análisis contextual. El análisis semántico se ejecuta en el compilador después de recopilar la información semántica necesaria del código fuente (el código que escribiste). Comprueba la coherencia de tu código en busca de errores semánticos y realiza comprobaciones de tipo, como asegurarse de que cada operador tiene un operando, o de que una variable se declara antes de su uso.
- API
Acrónimo de "Application Programming Interface" (interfaz de programación de aplicaciones). Son bibliotecas generalmente agrupadas en conjuntos de funciones, tipos y estructuras de datos a las que se puede llamar y que permiten a los usuarios acceder a los sistemas de Unreal y Fortnite e interactuar con ellos.
- argumento
Valor asignado a un parámetro en una firma de función mapeado desde una llamada a función.
- arquetipo
Un arquetipo es una instancia de una clase que está completamente definida con valores para sus campos en una clase.
- atómico
Una única unidad de código completa que se ejecuta en su totalidad o falla totalmente, sin interrupción ni observación de otro código. El código atómico no puede interrumpirse. Todas las expresiones inmediatas, adyacentes y no asíncronas se consideran atómicas: se garantiza que su código se ejecuta sin interrupción con la misma actualización, y sin tanteos ni cambios de contexto.
- autor de llamada
- base 16
La base 16 hexadecimal (de hexa-, que significa seis, y decimal, que significa diez), a menudo abreviada como hex, es un sistema de numeración que utiliza 16 símbolos en vez de los 10 símbolos de la base 10, que resultan más familiares.
- biblioteca estándar
Una serie de funciones, constantes y otras definiciones del lenguaje disponibles en Verse. Esta biblioteca proporciona implementaciones para necesidades de programación comunes. Es un recurso para cosas que los programadores utilizarán con frecuencia, como las funciones matemáticas.
- bidireccional
Que funciona en dos direcciones.
- block (expresión)
Una expresión de bloque es una forma de agrupar expresiones como una única expresión o de anidar un bloque de código. Las expresiones de bloque se comportan de forma similar a los bloques de código.
- bloque de código
Un bloque, o bloque de código, es un grupo de expresiones que introduce un nuevo cuerpo de código. También puedes tener un bloque de código que no contenga ninguna expresión, pero suele ser un marcador de posición que se rellenará con expresiones en algún momento posterior.
Los bloques de código se colocan después de un identificador.
Un bloque de código tiene tres formatos posibles en Verse. Todos estos formatos son semánticamente iguales en el sentido de que el formato no cambia lo que el código hace realmente.
Un formato con espacios comienza el bloque con
:, y cada expresión sigue en su propia línea con una sangría de cuatro espacios:Verseif (test-arg-block): expression1 expression2Ten en cuenta que
if (test-arg-block)no forma parte del bloque, sino que el bloque comienza al final de esa línea con:. También puedes utilizar;para separar varias expresiones en una sola línea:Verseif (test-arg-block): expression1; expression2; expression3En un formato en varias líneas con llaves, el bloque está encerrado por
{}(llaves), y las expresiones están en líneas nuevas:Verseif (test-arg-block) { expression1 expression2 }Al igual que con el formato de espacios, también puedes utilizar
;para separar varias expresiones en una sola línea.Verseif (test-arg-block) { expression1; expression2 }El tercer formato es el formato en una línea con llaves. De nuevo, el bloque está cerrado por
{}, pero cada expresión está separada por;en lugar de colocarse en una nueva línea. Ten en cuenta que no tienes que poner los caracteres{}en líneas separadas.Verseif (test-arg-block) {expression1; expression2}Para obtener más información al respecto, consulta Bloques de código.
- bloque vacío
Un bloque de código que no contiene ninguna expresión es un bloque vacío. Los bloques vacíos se utilizan generalmente solo como marcadores de posición, y se rellenarán más tarde con código.
- booleano
Consulta lógica booleana.
- branch (expresión)
Una expresión
branchinicia un bloque de una o más subexpresiones asíncronas. Cualquier expresión que le siga se ejecuta inmediatamente.Para obtener más información, consulta Simultaneidad.
- break
Una expresión que "sale" del
bucleactual y ejecuta la siguiente expresión después de la expresión loop. Para obtener más información, consulta Loop y Break.- bucle de juego
Un bucle de juego es código que se ejecuta repetidamente (en bucle) para responder a la entrada (normalmente, el jugador interactuando con el mando o ratón) y actualizar el estado de juego, y proporcionar una salida que muestre al jugador que ha afectado al estado del juego, como cuando se pulsa un botón que enciende una luz. Normalmente, el bucle finaliza cuando la partida llega al estado finalizado, como cuando el jugador alcanza una meta, o al estado fallido, como cuando el jugador se queda sin tiempo antes de alcanzar la meta.
- bucle infinito
Un bloque de bucle que se repetirá para siempre. Consulta también loop y break.
- C++
Un lenguaje de programación habitual utilizado en muchas aplicaciones diferentes, especialmente en motores de juego como Unreal Engine.
- cadena vacía
Una cadena que no contiene ningún carácter (
"") se denomina cadena vacía.- cambio de contexto
Un cambio de contexto es el proceso de almacenar el estado de un proceso o subproceso para que se pueda restaurar y reanudar la ejecución en un momento posterior, y luego restaurar un estado diferente, previamente guardado.
- campo
Consulta miembro.
- cancelado
- carácter de escape
El carácter de escape en Verse es la barra invertida ( \ ), que crea una secuencia de escape dentro de un literal de cadena. Se utiliza para modificar los caracteres de control que, de otro modo, se interpretarían de forma diferente. Por ejemplo, si estás trabajando con una cadena y quieres incluir caracteres con usos preestablecidos, como { }, debes incluir el carácter de escape "" antes del carácter en la cadena. Esto haría que
"\\{\\}"apareciera como {} en el texto.- case (expresión)
Una expresión `case` puede controlar el flujo de un programa a partir de una lista de opciones. Para obtener más información, consulta Case.
- casilla
Una sección de una cuadrícula en una superficie como un suelo o una pared.
Una forma de organizar visualmente las opciones del menú.
En Verse: una sección de una cuadrícula en una superficie como un suelo o una pared.
- casting de tipos
Puedes convertir una clase a una de sus subclases (lo que se denomina casting de tipos) con la sintaxis
NewReference := type_to_cast_to[Reference], dondetype_to_cast_toes el tipo que desea utilizar. Esta es una expresión falible porque la conversión de tipos fallará si el objeto no se puede convertir a ese tipo; por ejemplo, si la clase es de un tipo diferente al de la subclase.El siguiente ejemplo muestra cómo convertir
TaggedDevice, que tiene el tipocreative_device_base, en un tipocustomizable_light_devicepara poder utilizar sus funciones específicas. Si elTaggedDeviceno es un dispositivo de luz personalizable, entonces no llamará aTurnOn().Verseif (LightDevice := customizable_light_device[TaggedDevice]): LightDevice.TurnOn()- Ceil
Una operación matemática que redondea un valor racional al entero más cercano. Comparable con
Suelo.- char
Un tipo de datos que almacena un solo carácter.
- CI/CD
CI/CD representa la integración continua y la entrega continua o la implementación continua. CI/CD tiende un puente entre el desarrollo y la aplicación mediante la automatización en la construcción, las pruebas y la implementación de las aplicaciones.
- clase base
Una clase de la que derivan otras clases. Una clase que hereda de una clase base tiene todos los miembros y funciones miembro, y puede tener propiedades adicionales que no estén incluidas en la clase base. Una clase base también se conoce como clase padre o superclase.
- clase interna
Una clase que está marcada como
epic_internal, lo que significa que no puedes crear tu propia instancia de la clase. Solo puedes utilizar las API para acceder a un objeto interno.- codificación de caracteres
La codificación de caracteres es la correspondencia entre un carácter de texto y unos datos que el ordenador puede entender, llamados punto de código.
- coerción
La conversión de un valor en un tipo de datos diferente. Las conversiones de tipo pueden hacerse de forma implícita o explícita. Conversión implícita. También llamada coerción; se realiza automáticamente.
- comentario
Un comentario escrito por el programador que explica algo sobre el código o la razón del programador sobre cómo se programa algo. Mientras que el propio código muestra el cómo del programa, los comentarios se suelen añadir para explicar el por qué.
Los comentarios del código pueden aparecer en cualquier parte del código y comienzan por
#. Cuando el programa se ejecuta, los comentarios del código se ignoran.Puedes comentar una sola línea colocando un
#al principio de la línea. El retorno al final de la línea termina el comentario.Verse# A single line is commented this way.Puedes hacer un comentario de bloque de varias líneas utilizando
<#para empezar el bloque y#>para terminarlo:Verse<# You can make multi-line comments in your code by starting and ending the comments as shown here. #>Para conocer otras formas de añadir comentarios a tu código, consulta la página Referencia rápida del lenguaje Verse.
- comentario del código
Consulta comentario.
- compendio
Un listado generado automáticamente de todos los símbolos públicos, como módulos, funciones, clases, que el compilador de Verse ha procesado. También incluye comentarios. Puedes leer un archivo de compendio para ver qué API y funcionalidad hay en un módulo asociado.
- compilador
Software que convierte instrucciones de programas escritos en un lenguaje legible en instrucciones ejecutables por un ordenador. A veces se denomina analizador. El periodo de tiempo en el que se ejecuta el compilador se conoce como tiempo de compilación.
- compilar
Convertir programas escritos en un lenguaje legible para el ser humano en instrucciones ejecutables por un ordenador.
- completado
El estado de una tarea que se ha ejecutado hasta su finalización.
- componente
Una tesela independiente para renderizar un trozo de terreno. A veces, los componentes reciben el nombre de celdas. Consulta también World Partition.
Los componentes son los que proporcionan datos y comportamiento a las entidades en Scene Graph. Los componentes definen lo que una entidad debe hacer en la escena.
Asimismo, tienen propiedades editables que pueden ser físicas, como una malla estática y un sistema de partículas, o lógicas, como una etiqueta de jugabilidad o un código Verse personalizado, que define el movimiento de una plataforma. Todas las entidades tienen un componente de transformación por defecto para especificar dónde existe la entidad en el mundo.
En Verse, una función o un grupo de funciones relacionadas en un programa que se pueden reutilizar.
- comprobación estática
Comprobación automatizada durante la compilación que puede detectar un error en función de la semántica del código.
- comprobador de tipos
La comprobación de tipos se utiliza para comprobar un programa antes de su ejecución. Esto verifica los valores y la sintaxis del tipo de datos. El objetivo principal de un sistema de tipos en un lenguaje de programación es reducir la probabilidad de que se produzcan fallos en un programa debido a errores de tipo.
- computes
Este efecto indica que una función devuelve la misma salida cuando se le presenta repetidamente la misma entrada.
- concatenación
La concatenación se produce cuando una cadena se anexa (añade) a otra cadena. Puedes utilizar el operador + para concatenar cadenas.
- concatenar
Consulta concatenación.
- concrete (clase)
Una clase con un especificador concrete es una forma de construir una instancia de clase con un arquetipo vacío, lo que significa que todos los campos de la clase deben definirse con un valor inicial.
- condicional
Una expresión que evalúa una condición y ejecuta instrucciones en función del resultado de la condición. Un ejemplo de condicional es una expresión
if.- condición
Una condición es algo que el programa puede comprobar si es true o false. Una expresión condicional puede evaluar la condición y devolver un resultado true o false.
- condición race
Una condición race se produce cuando un programa intenta realizar dos o más operaciones al mismo tiempo en operaciones que deben hacerse en secuencia para que se realicen correctamente.
- configuración regional
En programación, una configuración regional es un conjunto de parámetros que definen el idioma y la región del usuario y otros aspectos de la interfaz de usuario. En Verse, la
configuración regional(locale) es específicamente un tipo que establece un contexto para cuandomessagedebe localizarse, y afecta al idioma del texto y de los números en función de la configuración regional.- confirmar
Confirmar equivale a registrar un conjunto de cambios en el código en un sistema de control de versiones.
En Verse, una confirmación se produce cuando los efectos de código de una expresión que puede fallar se hacen permanentes después de que esa expresión tenga éxito.
- constante
Una constante es una ubicación donde se almacena un valor, y su valor no puede cambiar durante el tiempo de ejecución del programa. Se llama constante porque no varía.
La sintaxis básica de una constante es
name : type = value.namees un nombre que asignas a la constante (conocido como identificador). Los dos puntos:indican que viene un tipo. El símbolo=indica que viene un valor y, a continuación, el propio valor. Por ejemplo:VersePlayerSpeed : float = 2.0Esto dice que PlayerSpeed tiene un valor de 2.0 (representado como un valor decimal que no cambia mientras se ejecuta el programa).
Las constantes siempre tienen valores asignados. El nombre y el tipo es la declaración, y la inicialización es donde se expresa ese valor.
Comparable con variable.
Para obtener más información, consulta Constantes y variables.
- consulta
Las expresiones de consulta utilizan el operador
?para comprobar si un valor lógico u opcional estrue.- contenedor
En UEFN, un contenedor es una clase que contiene propiedades que se pueden aplicar a varios objetos.
En Verse, un contenedor es una forma de organizar los datos en el código. Consulta tipo de contenedor para obtener más información.
- contexto
El ámbito del código que define la vida útil de varios elementos y restricciones del lenguaje. Suele ser el rango entre el inicio y el final de un bloque de código.
- contexto asíncrono
El ámbito donde se permite una expresión asíncrona como una llamada a una coroutina.
- contexto de fallo
Un contexto de fallo es un contexto en el que se permite ejecutar expresiones que podrían fallar. El contexto define lo que ocurre si la expresión falla.
- controlador
Un controlador es la función que se llama para responder a un evento vinculado. Por ejemplo, si vinculas una función al evento InteractedWithEvent de un botón, cada vez que un jugador interactúa con ese botón, se llama al controlador asociado a ese evento.
- converges
El conjunto de efectos "más pequeño". Es un código que está garantizado para producir un valor en un tiempo finito sin divergir.
- corchetes
Los corchetes se utilizan en Verse para especificar diferentes tipos de información del código. Verse utiliza cuatro sets de corchetes. Algunos de sus usos son los siguientes:
()Los paréntesis se utilizan para configurar parámetros en una firma de función y argumentos en una llamada a función, así como para agrupar expresiones, tuplas y subclases.[]Los corchetes (también llamados paréntesis cuadrados) se utilizan para las llamadas a funciones que pueden fallar, los especificadores de tipo para matrices y mapas, y la indexación en una matriz.{}Las llaves se utilizan en la instanciación de arquetipos, el formato de bloques de código y la interpolación de cadenas.<>Los paréntesis angulares se utilizan para añadir especificadores a identificadores y funciones.
- corrutina
Una rutina con una vida útil duradera que realiza un trabajo a lo largo del tiempo o espera a que se produzcan varios eventos y estados, o una combinación de ambos. Corrutina es sinónimo de una función asíncrona.
- creación de instancias de arquetipos
El proceso de creación de un arquetipo. Comparar con el constructor, que también puede ejecutar lógica u otras funciones.
- crear instancia
Crear una instancia de algo.
En Verse, instanciar consiste en crear una instancia o un valor de una estructura o tipo de datos, como una clase o estructura. Consulta también creación de instancias de arquetipos.
- cuerpo
Un bloque con ámbito propio que define las subexpresiones de un elemento del lenguaje, como un cuerpo de función o un cuerpo de bucle. Por ejemplo, un cuerpo de función contiene expresiones que definen lo que hace la función, y cualquier variable declarada en la función es local a ese cuerpo de función.
- cumplir los requisitos
Definir un identificador dentro de un ámbito que permita «reutilizar» el identificador. Por ejemplo, podrías tener una constante que se llamara «gato». Podrías utilizar el mismo nombre para un campo de clase llamado «sara.gato». Ambos incluyen «gato» en el nombre, pero «sarah.gato» cumple los requisitos.
- código
El código, a veces llamado código fuente, contiene las instrucciones escritas por un programador que indican cómo debe operar un programa informático. El código fuente de Verse puede leerlo el programador, pero el ordenador no. Antes de que el ordenador pueda leer o ejecutar el programa, hay que convertirlo en instrucciones ejecutables por el ordenador. Este proceso se denomina compilar. Cuando un programador habla de escribir código, hace referencia a estas instrucciones.
- datos
En general, los datos se refieren a los valores utilizados en una expresión.
- decides
Un efecto que indica que la función puede fallar, y que llamar a esta función es una expresión que puede fallar. Las definiciones de función con el efecto decides también deben tener el efecto transacts, lo que significa que las acciones realizadas por esta función se pueden revertir como si nunca se hubieran realizado si se produce un fallo en cualquier parte de la función.
- declaración
Un comando independiente que no tiene un valor resultante. Verse no utiliza instrucciones. En su lugar, utiliza expresiones.
- declaración
Una declaración es una expresión en la que se introduce un identificador junto con su tipo. Puede implementarse (utilizarse) o no, y puede tener un valor asignado (inicializado) o no.
var name : type = expressiones la sintaxis de la declaración de una variable. Por ejemplo:Versevar PlayerSpeed : float = 2.0Esta línea de código declara que una variable llamada PlayerSpeed tiene un valor flotante.
En este ejemplo, la última parte,
= 2.0, es la inicialización, que está separada de la declaración.- declarar
Una variable o una función se declaran especificando su identificador y tipo. Comparable con inicializar.
- decorar
Al escribir código, decorar significa envolver un fragmento de código dentro de otro.
- define
Consulta definición.
- definición
Una definición se produce cuando se implementa un identificador o se le asigna un valor, como una definición de función o una definición de clase. Comparable con declaración.
- dependencia
Dependencia se produce cuando un módulo depende de otros módulos para alguna funcionalidad.
- depurador
Una herramienta que se utiliza para la depuración, donde se puede ver el estado del programa en cada paso de ejecución.
- depurar
El proceso de identificar y resolver errores en tu código.
- desarrollador
Alguien que utiliza herramientas de Fortnite para crear (desarrollar) una isla en Fortnite, especialmente cuando se utiliza UEFN. Este término incluye a desarrolladores de islas de Fortnite, artistas y arquitectos.
- desbordamiento de enteros
Se produce cuando se intenta almacenar un valor demasiado grande para los valores definidos para el tipo entero.
- destrucción determinista
La destrucción determinista es un proceso que se encuentra en algunos lenguajes de programación, que se produce cuando se destruyen objetos en cuanto un programa sale de su ámbito.
- determinista
Un sistema determinista es aquel en el que el mismo estado inicial o entrada produce siempre los mismos resultados.
- dispersión
Cuando una tupla se utiliza como elemento único de una función, será como si esa función se llamara con cada uno de los elementos de la tupla por separado. Esto se llama expansión o dispersión de tuplas.
- dispositivo
Los dispositivos son objetos de Fortnite que realizan tareas concretas destinadas a controlar el juego.
Al igual que los elementos, los dispositivos se pueden colocar en la isla, Aunque estos son diferentes de los elementos , ya que sirven para crear interacciones con los jugadores. Cada dispositivo ofrece funciones distintas, pero todos hacen algo.
Piensa en un dispositivo como un paquete de mecánicas de juego con funciones específicas que se pueden personalizar para adaptarse a tu jugabilidad. La mayoría se pueden personalizar, pero todos cuentan con ajustes predeterminados que definen su comportamiento aunque no los modifiques.
En Verse, los dispositivos son bloques básicos utilizados para construir la mecánica del juego. Los dispositivos gestionan las interacciones de los jugadores que controlan el juego.
- dispositivo diseñado con Verse
Un dispositivo que se utiliza en Unreal Editor para Fortnite (UEFN) y se programa directamente con Verse.
- distribuir
Distribuir es enviar algo a alguna parte. En Verse, podría ser enviar una llamada a una función o un evento a un oyente, por ejemplo.
- diverge
Se dice que la ejecución de un programa diverge si no termina (finaliza) como se esperaba. Si da un valor en un tiempo finito sin divergir, se dice que converge.
- doc
Un campo de nota genérico que encontrarás en classes y functions (pero no en parámetros de función) que contiene información útil sobre lo que hace el elemento que describe o sobre cómo utilizarlo, y que se utiliza para rellenar la página de ese elemento en la referencia de la API de Verse.
- dominio
El dominio es el conjunto de entradas que acepta un determinado parámetro. Un tipo es una forma de especificar un dominio, con la diferencia de que el dominio abarca más que el tipo.
- duración
El tiempo que transcurre entre la creación de un objeto y su destrucción. Es sinónimo de vida útil.
- editable
Un atributo que puedes añadir al código para exponer propiedades en UEFN. Etiquetar el código con este atributo consiste en añadir un
@nombre_de_atributo(en este caso@editable) antes de un identificador de campo:Verse@editable PropertyName : type = DefaultValuePor ejemplo, el campo de cadena
GreetingMessagees una propiedad editable con el valor por defecto"Hola, forastero":Verseexpose_properties := class(creative_device): @editable GreetingMessage : string = "Hello, stranger"Para obtener más información sobre cómo utilizar esto, consulta Personaliza las propiedades de tu dispositivo en el editor.
- efecto
Un efecto es una categoría de comportamiento que puede presentar una función.
En el siguiente ejemplo, el código dice que una función se llama
IsCriticalHealthy toma un valor entero como entrada a través del parámetroHealth. A continuación, dice que los efectos que la función exhibe sondecidesytransacts, lo que significa que la función es un contexto de fallo y sus acciones pueden ser revertidas si la función falla. Si el valor deHealthque se pasa como entrada a la función es mayor que 0.0 y menor o igual que 30.0, la función tiene éxito. De lo contrario, la función falla, y el contexto que llamó a la función debe gestionar el fallo.VerseIsCriticalHealth(Health : float)<decides><transacts> : void = ((Health > 0.0) && (Health <= 30.0))Para obtener más información sobre esto, consulta Especificadores y atributos.
- efecto aditivo
Un efecto aditivo es un efecto que se puede añadir a un efecto exclusivo. Los efectos aditivos incluyen
suspendsydecides.- efecto exclusivo
Algunos efectos se consideran efectos exclusivos a los que se pueden añadir efectos aditivos, pero que no se pueden utilizar con otros efectos exclusivos. Los efectos exclusivos incluyen
computes,variesytransacts. Los efectos aditivos incluyensuspendsydecides.- efecto secundario
Un efecto secundario se produce cuando algún código, como una función o una expresión, modifica algún estado fuera de su ámbito.
- ejecución
El proceso por el que un ordenador interpreta un programa y ejecuta las instrucciones del mismo.
- ejecución especulativa
Verse aprovecha el contexto de fallo para permitirte probar acciones sin aplicarlas. Esto se llama ejecución especulativa. Cuando una expresión tiene éxito, se produce el efecto de la expresión, como cambiar el valor de una variable. Si la expresión falla, los efectos de la expresión se revierten, como si la expresión nunca hubiera ocurrido.
- ejecución secuencial
El código suele ejecutarse línea por línea, en el orden en que aparecen las expresiones. Esto se llama ejecución secuencial.
- ejecutar
Ejecutar un programa.
- ejemplo de código
Un programa, módulo o clase independiente que demuestra uno o más conceptos, clases, funciones o algún otro aspecto de un lenguaje de programación. Comparable con fragmento de código.
- elemento
Una sola parte de un grupo mayor. Por ejemplo, una matriz puede contener diferentes elementos que se pueden almacenar y utilizar de forma individual.
- emisión de rayos
La emisión de rayos dibuja una línea invisible en el espacio a partir de un objeto para saber si algo colisiona con él.
- entero
Un entero constituye un número entero (no un número fraccionario) que puede ser positivo, negativo o cero.
- entero con signo
Un entero con signo es un valor que puede contener un número negativo, positivo o cero. Se llama entero con signo porque puede utilizar un signo + o − en el extremo izquierdo para indicar si el número es positivo o negativo. Un entero sin signo solo puede ser un número positivo o cero.
- enteros alternos
Consulta hexadecimal.
- entorno de metaverso
Un mundo 3D persistente y globalmente consistente, en tiempo real, con un entorno de tiempo de ejecución que ejecuta código simultáneo, complejo e interdependiente escrito por el usuario con millones de usuarios conectados al mismo tiempo.
- error
Respuesta incorrecta o inesperada de un programa en el modo Creativo de Fortnite y UEFN.
En Verse, es un error de un programa de ordenador que causa que produzca un resultado incorrecto o inesperado. Los errores se producen durante el tiempo de ejecución, a diferencia de los errores de compilador, que se producen durante el tiempo de compilación de Verse. El proceso de identificar y eliminar errores se llama depuración.
- error de sintaxis
Consulta error del compilador.
- error del compilador
Un error del compilador se produce por un uso incorrecto del código detectado por el compilador de Verse en tiempo de compilación. Comparar con los errores, que se producen en tiempo de ejecución.
- error semántico
Consulta error del compilador.
- espacio de juego
Un módulo de la API de Verse que puedes usar para obtener una matriz de jugadores o equipos, o el equipo de un jugador en particular. También te permite suscribirte a eventos de añadir y eliminar jugadores.
- especificador
Un especificador aplica información adicional a una definición. Por ejemplo, el especificador de efecto
decidesen una definición de función marca la función como falible.Los especificadores entran en una de estas dos subcategorías: especificadores de acceso y especificadores de efecto.
- especificador de acceso
Los especificadores de acceso definen el nivel de acceso. A continuación, se indican todos los especificadores de acceso que se pueden utilizar con clases:
public: acceso sin restricciones.
internal: acceso limitado al módulo actual. Este es el acceso por defecto.
protected: acceso limitado a la clase actual y a todas las subclases.
private: acceso limitado a la clase actual.
- estado
Un estado es la combinación de los valores originales de un objeto más las modificaciones realizadas.
- estado de juego
El estado de un juego u otra simulación. Está formado por todos los valores de datos que describen un sistema. Los valores constantes y variables determinan el estado del sistema.
- evaluar
Evaluar consiste en ejecutar una expresión para producir un valor.
- exclusión mutua
Cuando más de un proceso accede al mismo segmento de código, ese segmento se denomina sección crítica. La exclusión mutua es una forma de garantizar que dos procesos no puedan acceder a una sección crítica al mismo tiempo.
- explorador de Verse
- exponer
Una propiedad se expone en UEFN asignándole el atributo
editableen el código de Verse. Esto significa que puedes editar la propiedad expuesta directamente en la interfaz de UEFN. Consulta también editable.- expresión
Una expresión es la unidad más pequeña de código (una combinación de valores y funciones) que tiene un resultado cuando se evalúa.
El ejemplo siguiente es una expresión
if ... else, lo que significa que si el valor cumple un criterio nombrado, es una cosa, pero si no, es otra.Verseif (a > 5): “Big!” else “Small!”En Verse, todo es una expresión, desde los literales hasta las llamadas a funciones o el flujo de control.
Esto se compara con una declaración, que es un comando independiente que no tiene un valor resultante. En Verse todo es una expresión y no hay distinción entre declaraciones y expresiones que pueden evaluarse a un valor.
Para obtener información más detallada, consulta Expresiones.
- expresión asíncrona
Una expresión asíncrona puede tardar en evaluarse, pero no tiene por qué hacerlo. Asimismo, esta puede o no completarse en la actualización de la simulación actual, o en una posterior. Las funciones asíncronas identificadas con un especificador
suspendstambién se denominan corrutinas. Las expresiones asíncronas contrastan con las expresiones inmediatas.- expresión de asignación
En Verse, una expresión de asignación almacena un valor en una ubicación mutable, como cuando se inicializa una variable o se cambia el valor de una variable.
- expresión de comparación
En Verse, las expresiones de comparación comparan dos cosas mediante uno de los operadores de desigualdad:
<,>,<=,>=,<>.- expresión de decisión
Las expresiones de decisión utilizan los operadores
not,and, yorpara proporcionarte el control sobre el flujo de decisiones de éxito y fracaso.- expresión de igualdad
En Verse, las expresiones de igualdad se utilizan para comparar si dos cosas son iguales mediante el operador =.
- expresión de nivel superior
Una expresión de nivel superior es una expresión que no está anidada dentro de un bloque de código. Las expresiones de nivel superior también pueden ser expresiones compuestas, como bloques de código anidados.
- expresión de rango
Las expresiones de rango contienen todos los números que están entre dos valores especificados, ambos inclusive, con
..entre los valores; por ejemplo,1..5. Las expresiones de rango solo se pueden utilizar en lugares específicos, como en las expresionesfor.- expresión falible
Una expresión que puede fallar es una expresión que puede tener éxito y producir un valor, o fallar y no devolver ningún valor. Ejemplos de expresiones falibles incluyen la indexación en una matriz porque un índice no válido fallará, y el uso de operadores como la comparación de dos valores.
- expresión inmediata
Una expresión inmediata se evalúa sin retraso, lo que significa que la evaluación se completará dentro de la actualización de la simulación actual.
- expresión matemática
En Verse, una expresión matemática es una expresión que utiliza uno de los siguientes operadores:
+,-,*o/.- f
Consulta float.
- fallar
En Verse, por defecto ningún código que el usuario escriba puede fallar. Esto significa que en lugar de tener una función que devuelva booleanos u opciones, utiliza
<decides>para devolver un valor, void o fallar.- final
Un especificador que solo se puede utilizar en clases y miembros de clases:
Cuando una clase tiene el especificador final, no se puede crear una subclase de la clase.
Cuando un campo tiene el especificador `final`, no se puede anular el campo en una subclase.
Cuando un método tiene el especificador final, no se puede anular el método en una subclase.
- firma de la función
La firma de la función declara el nombre de la función (identificador), y la entrada (parámetros) y salida (resultado) de la función. Las funciones de Verse también pueden tener especificadores que especifican cómo utilizar o implementar una función.
- Floor
Una operación matemática que redondea un valor racional al entero más cercano. Comparable con
Techo.- flujo de tiempo
Una sección de una cuadrícula en una superficie como un suelo o una pared.
El control del flujo de tiempo es el núcleo del lenguaje de programación Verse, y se consigue con expresiones simultáneas.
El flujo de tiempo es un tipo de control de flujo, pero mientras que el flujo de control se refiere al orden en que un equipo ejecuta las instrucciones basándose en el orden de las expresiones en el programa, el flujo de tiempo controla la ejecución a lo largo del tiempo, no en la secuencia, en función de cómo se utilizan las expresiones de simultaneidad.
Flujo de tiempo es otra forma de decir simultaneidad.
- for (expresión)
Una expresión
for, a veces denominada bucle for, es lo mismo que una expresión de bucle, salvo que las expresionesforestán restringidas, lo que significa que la cantidad de iteraciones se conoce antes de que se ejecute el buclefor, y las decisiones sobre cuándo salir del bucle están automatizadas. Para obtener más información, consulta For.- fotograma
Un fotograma es una imagen totalmente renderizada (como en un televisor o un monitor de ordenador) que representa una simulación de un punto determinado en el tiempo. Fotograma se utiliza a veces como sinónimo de una actualización de simulación (o tic), porque, normalmente, son simultáneos, aunque los nuevos fotogramas pueden producirse a una velocidad diferente (con mayor o menor frecuencia) que una actualización de simulación. La tasa de fotogramas, o fps (fotogramas por segundo) para abreviar, es el número de fotogramas que aparecen por segundo.
- fragmento
Consulta fragmento de código.
- fragmento de código
Un fragmento es un código, a menudo breve, que suele servir para mostrar o aplicar un concepto específico.
Los fragmentos de código no son programas completos independientes. Los fragmentos de código pueden copiarse y pegarse en bloques de código. Comparable con ejemplo de código.
- función (código)
Una función (también denominada rutina) es un código reutilizable que proporciona instrucciones para realizar una acción o crear una salida basada en una entrada.
Para definir una función, debes proporcionar tres partes clave: un nombre único, el tipo de información que se espera como su result y lo que hará la función cuando sea called.
A continuación puedes ver la sintaxis básica de una función:
Versename() : type = codeblockNombre() y tipo separados por dos puntos: esta es la function signature, que es la forma en que llamas y utilizar la función, y el value que debe devolver la función es del tipo que proporcionas. Este formato es similar a cómo se crean las constantes, excepto por el () después de name, que imita la forma de llamar a la función en el código.
El bloque de código de la función: define lo que hará la función cuando sea llamada proporcionando
=codeblock, dondecodeblockes cualquier secuencia de una o más expresiones. Siempre que llames a la función, se ejecutarán las expresiones del code block.
- futura
Una tarea que ha empezado a ejecutarse pero se ha suspendido sin cancelarse. Es futura porque se completará en algún momento en el futuro.
- generador
Un generador produce una secuencia de valores, de uno en uno, y asigna un nombre al valor de la secuencia.
- grafo de llamadas
Una lista de los métodos de una pila de llamadas, con información sobre cada llamada, como el tiempo de ejecución, las marcas de tiempo y el identificador de la función.
- guardar en caché
Una forma de almacenar datos para poder acceder a ellos más rápidamente.
- herencia
En Verse, puedes crear una clase que amplíe la definición de otra clase, añadiendo o modificando los campos y métodos de la otra clase. Esto se suele denominar subclase o herencia, porque una clase hereda definiciones de la otra.
- hexadecimal
En Verse, puedes utilizar el sistema numérico hexadecimal (base 16) para representar los enteros, en lugar del sistema numérico decimal que utiliza la base 10. Esto significa que los valores hexadecimales se representan con los dígitos 0-9 y las letras A-F. Por ejemplo, 0x7F es lo mismo que 127, y 0xFACE es lo mismo que 64206.
Esta es una forma alternativa de representar enteros.
- IDE
Un entorno de desarrollo integrado (IDE) es un software que proporciona una interfaz de usuario para crear y depurar programas.
- identificador
Un identificador es el nombre que se da a las cosas en un programa, como variables o funciones, para identificarlas de forma única.
- if (expresión)
Con la expresión de condición
if, puedes tomar decisiones que cambian el flujo del programa. Al igual que en otros lenguajes de programación, la expresión de condiciónifde Verse admite la ejecución condicional, pero en Verse, las condiciones utilizan el éxito y el fracaso para impulsar la decisión.- incorporado
En algunos lenguajes de programación, algo que está integrado es algo que puedes utilizar directamente dentro del lenguaje y sus bibliotecas estándar.
- inferir
Hay instancias en las que no tienes que especificar explícitamente el tipo, como cuando creas una constante. Por ejemplo, en
MyConstant := 0, se infiere que el tipo de MyConstant es int porque se le asigna un valor entero. En casos como este, el tipo se infiere.- infijo
Un formato para un operador en el que hay dos operandos y el operador está entre los operandos.
- inicializar
Para crear una variable, especifica su identificador y tipo, lo que se conoce como declarar una variable, y asigna un valor a la variable, denominado inicializar.
- inmutable
Una vez creado un objeto, su estado no puede ser modificado. Comparable con mutable.
- instancia
Piensa en una instancia como una copia única de un recurso. El recurso original determina las propiedades predeterminadas de cualquier nueva instancia que crees. Los cambios efectuados en las propiedades de una instancia no afectan al recurso original. Por ejemplo, puedes cambiar un material para que tenga una apariencia diferente sin cambiar el material maestro. Sería una instancia de material.
En Verse, una instancia consiste en crear una variable, especificar su identificador y su tipo, lo que se conoce como declarar una variable, y asignar un valor a la variable, lo que se conoce como inicializar.
- interpolación
La mezcla de nuevos valores que se encuentran entre valores conocidos.
- intérprete
Un programa que analiza y ejecuta un programa línea por línea.
- invocar
Consulta llamar.
- iterar
Ejecutar el código de cada elemento de una secuencia.
- jerarquía de efectos
Un efecto es una categoría de comportamiento que puede presentar una función. La aplicación de efectos exclusivos a una función tiene una jerarquía, en la que los efectos que están más arriba en dicha jerarquía permiten por lo menos todo el comportamiento de los efectos que tienen por debajo. La jerarquía es la siguiente:
transactsvariescomputesconverges
El efecto
transactsincluirá las propiedades de los efectos siguientes, el efectovariesincluye los efectoscomputesyconverges, pero notransacts, y así sucesivamente.- jerárquico
Que tiene jerarquías o niveles claros de rango, importancia o control. Algunas relaciones jerárquicas habituales son las de padre/hijo o la de superclase/subclase.
- lenguaje de programación
Lenguaje formal utilizado para escribir programas informáticos. Existen muchos lenguajes de programación, cada uno de los ellos cuenta con sus propias reglas. Algunos ejemplos son Scratch, lenguaje de programación visual utilizado para desarrollar historias interactivas, juegos y animaciones, o C++, lenguaje basado en texto que se utiliza con frecuencia en el desarrollo de juegos. Verse es un lenguaje de programación desarrollado por Epic Games para los creadores que quieran aprender más acerca del uso de herramientas de desarrollo.
- lenguaje de programación visual
Un tipo de lenguaje de programación en el que el programador utiliza elementos visuales arrastrándolos y conectándolos con otros elementos para conseguir una secuencia específica de instrucciones del programa.
- lenguaje open world
Un lenguaje en el que los módulos interdependientes escritos por muchos usuarios y organizaciones diferentes pueden evolucionar con el tiempo sin romper la compatibilidad de la interfaz y la compatibilidad de los datos persistentes, siguiendo reglas de subtipado claramente definidas.
- lista de cambios
Una forma de hacer un seguimiento de los cambios de un archivo en Perforce entre los archivos locales que se almacenan en el ordenador y los archivos que se envían al servidor y se fusionan con los archivos fuente del proyecto. Una lista de cambios también se denomina CL.
- lista vinculada
Es una estructura de datos lineal en la que cada elemento almacena una referencia al siguiente elemento de la lista.
- literal
Un valor fijo en el lenguaje de programación Verse, como un número o un carácter. Por ejemplo, 1 es un literal entero.
- llamada a función
Una expresión que evalúa (lo que se conoce como llamar o invocar) una función. Las llamadas a funciones pueden tener dos formas, dependiendo de si la función tiene el efecto
decides:FunctionName()andFunctionName[]. El tipo de resultado de la expresión de la llamada a función se define en la firma de la función.- llaves
Consulta paréntesis.
- local
Se refiere a una constante o variable dentro de un bloque de código. No se pueden utilizar fuera del bloque de código en el que se crearon. Consulta también ámbito.
- lógica booleana
Un sistema de lógica en el que el valor expresado es true o false, y que se utiliza a menudo para determinar el control del flujo en los lenguajes de programación. Lleva el nombre de George Boole (1815-1864), matemático que contribuyó de forma decisiva a los campos de la lógica y el álgebra.
En Verse, el tipo utilizado para representar true y false es
logic. Esta lógica booleana se aplica mediante expresiones que pueden fallar en contextos de fallo.- message
message(mensaje) en Verse es un tipo que puede contener texto independiente de la configuración regional. Cuandoinicializas una variablemessagecon un valor destring, esa cadena es el texto y el idioma por defecto del mensaje.- miembro
Una variable o función con nombre que es una subparte de una estructura de datos compuesta (como una clase, una estructura, una interfaz o un módulo de Verse). Las variables miembro se suelen denominar campos, y las funciones miembro, métodos.
- miembro público
- miembros de datos
Consulta miembro.
- modo de animación PingPong
Invertir la dirección de una animación cuando se alcanza el fotograma clave final, y volver a reproducirla en la dirección opuesta.
- modo Fire-and-forget
El término «fire-and-forget» se refiere a una expresión en la que no importa cuándo se completa o si se cumple. Es muy poco frecuente.
- multitarea apropiativa
Interrumpir temporalmente una tarea en ejecución con la intención de reanudarla en un momento posterior se denomina multitarea apropiativa. Esto lo suele hacer un programador externo sin ayuda ni cooperación de la tarea.
- mutable
Se refiere a un estado del objeto que todavía puede modificarse después de su creación. En Verse, la mutabilidad solo es posible con punteros.
Comparable con inmutable.
- mutex
Un mutex es una forma primitiva de sincronización que concede acceso exclusivo a un recurso compartido utilizando solo un subproceso. Consulta también exclusión mutua.
- método
Un método es una función adjunta a una clase y que solo se puede llamar en una instancia de esa clase.
- módulo
Un módulo en Verse es una unidad atómica de código que puede redistribuirse y depender de él, y puede evolucionar con el tiempo sin romper las dependencias. Puedes importar un módulo a tu archivo de Verse para utilizar las definiciones de código de otros archivos de Verse.
Para obtener más información, consulta Módulos y rutas.
- NaN
Un valor que representa No es un número.
- native
nativeindica que los detalles de definición de un elemento se implementan en C++. Este especificador puede generar automáticamente definiciones de C++ que un desarrollador puede utilizar. El especificadornativese utiliza en clases, interfaces, enumeradores, métodos y datos.- native_callable
Indica que un método de instancia es nativo (implementado en C++) y que puede llamarse desde otro código C++. Puedes ver este especificador utilizado en un método de instancia. Este especificador no se propaga a las subclases, por lo que no tienes que añadirlo a una definición al anular un método que tenga este especificador.
- nivel de acceso
Los permisos necesarios para acceder a un miembro. Se especifican mediante un especificador en el miembro.
- nodo
En UEFN, un nodo es una unidad fundamental dentro de un sistema basado en grafos que representa una función, operación o punto de datos específico. En el contexto de los grafos de nodos, un nodo es un componente individual que procesa o enruta señales de audio, como una fuente de sonido, un efecto (como reverb o delay), un mezclador o una salida.
Para obtener información sobre Verse, consulta el nodo de lista vinculada.
- nodo cabeza
- nodo cola
El primer nodo de una lista vinculada se llama nodo cabeza, y el último nodo se llama nodo cola.
- nodo de lista vinculada
Cada elemento de una lista vinculada se llama nodo. Un nodo es un contenedor que alberga algunos datos y una referencia al siguiente de la lista.
- numeración con base cero
Una forma de numeración en la que el primer elemento de una secuencia se asignaría como 0, en lugar de 1. Esto significa que la posición cero en un índice representa 1, la primera posición representa 2, y así sucesivamente. Las secuencias de numeración que empiezan por 0 son habituales en la notación matemática. En programación, esa primera posición en una matriz se denomina a veces la posición cero.
- número de punto flotante
Término utilizado en varios lenguajes de programación para definir una variable con un valor fraccionario, o un número que contiene un punto como separador decimal, por ejemplo, 0.5 o 1.0. Los números creados utilizando una declaración de variable de tipo float tendrán dígitos a ambos lados del punto decimal.
- número racional
Un número que se puede expresar como una fracción simple mediante dos enteros. Por ejemplo, 1,75 también se puede expresar como 7/4, pero la raíz cuadrada de 2 (√2) no se puede expresar como fracción, por lo que se considera un número irracional. Otro ejemplo de número irracional es el número pi, que empieza por 3,14159 y continúa de forma infinita.
- objeto
En UEFN, objeto es otra palabra para recurso.
En Verse, una instancia de una clase es un objeto. Una instancia tiene los mismos comportamientos definidos por su tipo de clase pero con valores reales.
Los términos instancia y objeto son sinónimos.
- operación
Una acción llevada a cabo por un programa para realizar una tarea específica. Existen cuatro grupos básicos de operaciones informáticas: entrada, proceso, salida y almacenamiento. Una operación es un tipo de expresión.
- operador
Un símbolo que representa una acción o un proceso. Por ejemplo, en
1 + 2, el+es el operador.- operando
La cantidad sobre la que se realiza una operación. Por ejemplo, en la expresión
1 + 2, el+es un operador, y1y2son operandos.- orden de evaluación
Se refiere a la prioridad de operadores, es decir, el orden en que deben realizarse determinadas operaciones en una expresión.
- palabra clave
Las palabras clave son palabras reservadas que tienen un significado especial para el compilador. Algunos ejemplos de palabras clave son
foryclass. Las palabras clave no se pueden utilizar como identificadores.- par clave-valor
Cuando una clave se asocia a un valor, juntos forman un par clave-valor. Puedes buscar el valor utilizando la clave.
- paradigma
Un modelo o un patrón típicos para algo. En programación, un paradigma es una forma de organización de un lenguaje de programación. Existen cuatro paradigmas principales para los lenguajes de programación:
Imperativo
Logic
Funcional
Orientado a objetos
También hay lenguajes multiparadigma, como Verse.
- paralelo
Los cálculos múltiples que se ejecutan en el mismo periodo de tiempo físico, como en procesadores distintos, son paralelos.
- parámetro
Una variable de entrada que incluye un dominio, como un tipo, y un valor predeterminado opcional que se define en la firma de función, que posteriormente se utiliza en el cuerpo de la función. Comparable con argumento.
- Perforce
Perforce (P4) es una herramienta de software que proporciona control de versiones (también conocido como control de código fuente), que es una forma de seguir y gestionar los cambios en el código del software. Es útil cuando tienes equipos de programadores trabajando en el mismo proyecto. Si alguien comete un error, el control de versiones posibilita la comparación de versiones anteriores del código para encontrar y corregir el problema sin interrumpir el trabajo de todo el mundo.
- persistencia
Cuando los datos de los jugadores de una sesión se guardan y se vuelven a cargar en la siguiente sesión de ese juego, esto se denomina persistencia.
- pila de llamadas
La pila de llamadas es lo que utiliza un programa para hacer un seguimiento de las llamadas: qué funciones se están ejecutando, cuáles han terminado y cuáles están por venir.
- Ping Pong
Invertir la dirección hacia delante y hacia atrás.
- polimorfo
Polimórfico procede de poli-, que significa muchos, y -morfo, que significa forma. El comportamiento polimórfico se produce cuando una variable puede tener diferentes valores en diferentes condiciones.
- posfijo
Formato para un operador en el que solo hay un operando y el operador está después del operando.
- precedencia
El orden en que deben realizarse determinadas operaciones en una expresión.
- precedencia de operadores
Se refiere al orden de evaluación integrado al combinar operadores en Verse. Por ejemplo, si se utilizan varios operadores en la misma expresión, el orden en que se evalúan importa.
Por ejemplo,
1 + 2 * 3no se evalúa como3 * 3, ya que la multiplicación tiene prioridad sobre la suma.La prioridad de los operadores se puede anular mediante expresiones de agrupación.
- predicado
En Verse, un predicado es algo que se cumple o falla.
- prefijo
Un formato para un operador en el que solo hay un operando y el operador está antes del operando.
- programa
Un programa es un conjunto de instrucciones que indica al ordenador cómo hacer algo. Lo básico de cualquier programa es mostrar cómo el ordenador recibirá la entrada y devolverá la salida.
Un programa resuelve problemas, pero los programas son muy literales. Son como pedirle deseos a un genio. El genio (el programa) te concederá exactamente lo que pidas. Ni más ni menos. Los errores se producen cuando el programador hace suposiciones sobre lo que debe ocurrir, en lugar de describir con precisión qué entrada puede recibirse y qué salida se producirá.
- programación
El acto de escribir instrucciones (un programa) que el ordenador pueda compilar y ejecutar.
- programación funcional
Un tipo de programación declarativa que se centra en el uso de funciones. La programación funcional tiene como objetivo facilitar las pruebas y la depuración reduciendo los efectos secundarios. Un ejemplo de lenguaje de programación funcional es Haskell.
- programación imperativa
Un paradigma en el que el programa describe explícitamente cómo se ejecuta un programa, paso a paso. C es un ejemplo de lenguaje de programación imperativo.
- programación lógica
Un paradigma de programación que utiliza la lógica booleana para controlar cómo se representan o expresan los hechos y las reglas relacionados con los problemas del sistema.
- programación lógica funcional
La combinación de los paradigmas de programación funcional y lógica en un único lenguaje.
- programación orientada a objetos
La programación orientada a objetos (POO) es un paradigma de programación que se basa en el concepto de clases y objetos.
- programado de forma rígida
Los datos programado de forma rígida se escriben directamente en el código en lugar de asignarlos a una variable. Esto suele hacer que el código sea menos flexible y más difícil de actualizar, pero hay casos en los que tiene sentido hacerlo.
- propagar
En una función, la propagación es lo que ocurre si el autor de la llamada no tiene que ocuparse de lo que ocurre en caso de fallo. Por ejemplo, una función con un efecto
decidespodría llamarse desde otra función con efectodecides. Lo que llamara al autor de la llamada tendría entonces que gestionar el fallo.- propiedad
Una propiedad es un miembro (campo) que permite devolver valores y exponer esos valores.
- propiedad suelta
- provocar
Cuando una función emite una señal, genera un evento. Se notifica a las partes interesadas que se ha producido un evento, como la interacción con un botón, y se llama a todos los controladores de eventos.
- pseudocódigo
El pseudocódigo es una descripción detallada en lenguaje sencillo (no de programación) de lo que debe hacer un algoritmo. Pseudo significa que no es verdadero o real, por lo que se podría decir que el pseudocódigo es un código falso, pero es útil para entender lo que debe lograr un algoritmo.
También puedes pensar en el pseudocódigo como en un esquema general. Normalmente, el pseudocódigo se escribe para planificar una parte grande o compleja de un programa antes de escribir código real.
- puntero
Un puntero es una forma de hacer referencia a una «caja» mutable que puede contener un tipo de valor especificado. Con un puntero, puedes cambiar el valor específico de esa caja. Comparable con valor.
- punto del código
Un valor en el espacio de código Unicode para la codificación de caracteres.
- puro
Declara que una función siempre dará exactamente la misma salida dada la misma entrada, y no tiene efectos secundarios (escrituras en variables mutables, efectos E/S, etc.).
- RAII
RAII es un acrónimo del inglés resource acquisition is initialization, lo que describe el proceso por el que un objeto adquiere recursos entre la inicialización y la finalización solamente, para gestionar los recursos de forma más eficaz.
- recursividad
La recursividad es cuando una función se llama a sí misma.
- recursividad infinita
La recursividad infinita ocurre cuando una función se llama a sí misma directa o indirectamente, lo que provoca que la función intente llamarse a sí misma eternamente y nunca termine y que además el programa se bloquee.
- refactorizar
Cambiar la estructura del código sin cambiar su funcionalidad. Por ejemplo, un bloque de código que se repite varias veces a lo largo de un programa podría refactorizarse en una llamada a función. La refactorización puede aumentar la legibilidad del código y reducir su complejidad sin cambiar la forma en que se comporta.
- relación «es»
La relación entre una clase padre y una clase hijo se denomina relación «is-a» (es). La clase hijo en una relación «is-a» hereda de la clase padre.
- REPL
El bucle Lectura-Evaluación-Impresión, o REPL, es un entorno informático en el que puedes introducir código, que este código se lea y evalúe y, a continuación, ver los resultados. Un REPL te da la oportunidad de explorar un lenguaje y ver lo que funciona (o no funciona) sin romper nada.
- restringido
Cuando una expresión está restringida, tiene límites configurados.
- resultado
Cuando una expresión se ejecuta y produce un valor, ese valor es un resultado.
- return
Una expresión que indica a un programa que abandone una subrutina y vuelva a la dirección `return`. La dirección `return` es desde donde se llamó a la subrutina.
En lugar de confiar en que la última expresión del bloque de código de la función produzca el valor correcto, también puedes especificar explícitamente el resultado mediante una expresión
return. Cuando se ejecute la expresión `return`, saldrá inmediatamente del bloque de código de la función. Esto significa que si colocas la expresión `return` antes de otro código, el código que sigue no se ejecutará.- revertir
Restaurar un programa a un estado definido anteriormente, normalmente se utiliza para recuperarse de una expresión falible.
- ruta
Las rutas en Verse proporcionan un espacio de nombres global para identificar elementos, y toman prestada la idea de los dominios web. Estas rutas son persistentes, únicas y detectables por cualquier programador de Verse.
- ruta de Verse
Consulta ruta.
- rutina
Consulta la función.
- secuencia de comandos
Una cantidad autónoma de código de Verse ejecutable que está asociada a un objeto.
- semáforo
Un semáforo es como un mutex, excepto porque, mientras que un mutex bloquea otros subprocesos de los recursos disponibles, un semáforo solo señala que el recurso está siendo utilizado.
- semántica
- Serialización
El proceso de leer o escribir datos en o desde el archivo de guardado. Una propiedad suelta se crea con el mismo archivo que se lee tiene una propiedad que la clase o estructura no tiene.
- set (definir)
Una palabra clave que puede utilizarse para cambiar el valor de una variable mientras se ejecuta el programa.
La sintaxis para esto es
set name = value.setes la palabra clave,namees el nombre de la variable que hay que cambiar, yvaluees lo que hay que cambiar.Esto se llama asignación.
- simultaneidad estructurada
La simultaneidad estructurada describe las operaciones simultáneas dentro de una duración que está limitada a un comando simultáneo específico y a un ámbito de contexto asíncrono. Se trata de un control de flujo estructurado como
if,fororeturn, que se limita a un ámbito asociado.En Verse, las expresiones de simultaneidad estructurada son
sync,race,rushybranch.- simultaneidad no estructurada
Expresiones simultáneas con una duración que no está limitada lógicamente a un comando simultáneo específico o a un ámbito de contexto asíncrono. Esta duración se amplía potencialmente más allá del ámbito en el que se ejecutó. Esto es similar al control de flujo no estructurado como los comandos
gotooassembly jump.- simultáneo
Todos los cálculos que se ejecutan en el mismo periodo de tiempo efectivo se consideran simultáneos. Se trataría de actualizaciones de simulación lógica superpuestas, tics y fotogramas, aunque estén potencialmente repartidos en el tiempo físico, como en un único procesador, y no necesariamente paralelos.
- sin_reversión
Este efecto indica que las lecturas y escrituras de datos mutables de una función no pueden deshacerse, lo que significa que la función no puede invocarse en un contexto de fallo (en cuyo caso se revierte).
- sintaxis
Las reglas o la gramática del lenguaje de programación.
Comparable con semántica.
- sobrecarga
Sobrecargar una función o un operador significa que el mismo nombre de función o símbolo de operador puede tener diferentes parámetros. Por ejemplo, si dices que un vector 3D es igual a otro vector 3D, como (1,2,3), está bastante claro. Pero podrías utilizar el operador igual a para decir que tu vector 3D es igual a un solo número, como el 1. En ese caso, puede que el vector 3D se establezca en (1,1,1), pero hay sobrecarga por la existencia de múltiples operadores «Vector 3D =» con diferentes parámetros. El lenguaje tendría que analizar el contexto para ver cuál utilizar.
- sombreado
El sombreado se produce cuando un identificador oculta a otro identificador. El sombreado es un error en Verse, y evitará que el código se compile.
- sondeo
El sondeo se refiere al muestreo activo del estado de un dispositivo externo por parte de un programa cliente como actividad sincrónica. El sondeo se utiliza más a menudo en términos de entrada/salida (E/S), y también se denomina E/S por sondeo o E/S por software.
- spawn (expresión)
Una expresión
spawninicia una función asíncrona. Cualquier expresión que siga a `spawn` se ejecuta inmediatamente sin esperar a que se complete la expresiónspawn.spawncontinúa de forma independiente hasta que se completa.- STM
La memoria transaccional de software (STM) es un mecanismo de control de la simultaneidad análogo a las transacciones de bases de datos para controlar el acceso a la memoria compartida en la programación simultánea. En el futuro, Verse contará con STM porque desbloquea ganancias de rendimiento para grandes simulaciones distribuidas, entre otras motivaciones.
- subexpresión
Una expresión que está anidada dentro de un bloque de código.
- submódulo
Un módulo de Verse dentro de otro módulo de Verse. Puedes pensar en ello como en carpetas y subcarpetas: cada submódulo añade otro /NombreDelMódulo a la ruta a medida que avanza.
- subproceso
La unidad de procesamiento más pequeña que se puede realizar en un sistema operativo.
- subrutina
Un conjunto de instrucciones dentro de un programa informático diseñado para realizar una operación de uso frecuente. Las subrutinas son similares a las funciones, salvo que una función realiza algunos cálculos y devuelve el resultado al autor de la llamada. Las subrutinas hacen su trabajo sin informar al programa que las llama.
- subtipo
Un tipo que admite todas las operaciones de su supertipo. La palabra clave
subtypese puede usar con paréntesis para especificar que un tipo está restringido a un tipo determinado. Por ejemplo, varios métodos de matriz de Verse usansubtypepara definir que todos los elementos de la matriz deben tener el supertipo comparable para que el método funcione.Verse(Input:[]t where t:subtype(comparable)).RemoveFirstElement<public> (ElementToRemove:t)<computes><decides>:[]t RemoveFirstElementNecesita que los elementos de la matriz tengan un supertipo
comparablepara poder determinar si alguno de los elementos de la matriz es igual al argumentoElementToRemove.- superclase
Las clases pueden heredar de una superclase, que incluye todos los campos de la superclase en la clase que hereda. Se dice que estas clases son una subclase de la superclase.
- supertipo
Un supertipo es un tipo que tiene al menos un subtipo. Cualquier operación que admita un supertipo debe ser admitida también por cualquier subtipo. En Verse,
anyes el supertipo de todos los demás tipos y todos los demás tipos son subtipos deany. El tipocomparablees un supertipo de todos los tipos que son comparables en Verse, comointyfloat.- suscribirse
La suscripción es una forma de especificar la función que se desea llamar cuando se genera un evento. Esto se denomina vinculación a un evento. La función de vinculación recibe el nombre de controlador.
- suspends
Un efecto que detiene (suspende) temporalmente una función sin cancelarla. Una expresión
suspendspermite que las funciones asíncronas se suspendan y transfieran de forma cooperativa el control a otras expresiones simultáneas antes de completarse.Para obtener más información, consulta Simultaneidad.
- tablero
La superficie sobre la que se juega un juego. Tradicionalmente, el término tablero se ha aplicado a los juegos de mesa. Sin embargo, cada vez es más habitual utilizarlo para describir el nivel de un videojuego. En el desarrollo de videojuegos, el nivel del tablero puede dividirse en diferentes áreas o zonas, con diferentes formas, disposiciones o terrenos. Al igual que en los tableros de mesa, los jugadores pueden mover un personaje u objeto por el panel (nivel) para avanzar en la partida.
- tic
Consulta la actualización de la simulación, que se utiliza como sinónimo de tic, y, a veces, de fotograma.
- tiempo de compilación
Cuando el código fuente se convierte en instrucciones de máquina. Comparable con tiempo de ejecución.
- tiempo de ejecución
Se refiere al tiempo dedicado a la ejecución del juego, simulación o aplicación. Comparable con el tiempo de compilación, que hace referencia al tiempo dedicado a compilar, o con el tiempo de desarrollo, que se refiere al tiempo invertido en desarrollar, compilar y depurar.
Es frecuente diferenciar entre cosas que suceden en el tiempo de ejecución y cosas que suceden en el tiempo de compilación.
- tiempo de invocación
El tiempo que tarda una expresión en ser evaluada. Una invocación inmediata no requiere ningún tiempo. Una expresión asíncrona puede completarse inmediatamente o estar latente.
- tipado dinámico
En un lenguaje de programación con tipos dinámicos, las variables y expresiones no tienen tipos asignados. Esto significa que no se puede verificar hasta el tiempo de ejecución. Comparable con tipado fuerte.
- tipado fuerte
Un lenguaje de programación está fuertemente tipado cuando se asigna un tipo a cada identificador. Cuando el tipo no se proporciona explícitamente, se infiere. Esto significa que el lenguaje no producirá resultados imprevisibles durante el tiempo de ejecución, porque se conoce el tipo de esos identificadores y cómo afectan las operaciones a esos tipos. Consulta también comprobación.
- tipo
El tipo define qué operaciones pueden realizarse sobre datos, y cómo se almacenan esos datos, o valores, para ese tipo. Existen tipos comunes, como enteros y cadenas, tipos compuestos y tipos personalizados. Consultar también tipo primitivo y tipo de contenedor. La palabra clave
typese puede usar con llaves para definir un tipo esperado. Actualmente se admiten como declaraciones las declaraciones de funciones y los rangos numéricos. Por ejemplo, la funciónSubscribe()de la interfazsubscribableutiliza la palabra clavetypepara definir que su parámetroCallbackdebe ser una función con un tipo de retornovoid.VerseSubscribe<public>(Callback:type {__(:t):void})<transacts>:cancelable- tipo compuesto
Un tipo de datos compuesto, a veces denominado compuesto o agregado, es cualquier tipo que puede estar formado por campos o elementos (normalmente con nombre) de tipos primitivos o de otros tipos compuestos. Normalmente, tiene una cantidad fija de campos o elementos durante toda su vida útil. Actualmente, Verse utiliza los siguientes tipos compuestos: estructura, clase, enumerador, interfaz y módulo.
- tipo común
Los tipos comunes son tipos que están integrados y se utilizan con frecuencia. Los tipos más comunes son
any,comparable,float,int,logic,rationalystring.- tipo de contenedor
Puedes almacenar varios valores juntos utilizando un tipo de contenedor como matriz, mapa, tupla y opción.
- tipo de datos
Consulta tipo.
- tipo incorporado
Un tipo integrado no se puede desglosar más, a diferencia de un tipo compuesto.
- tipo paramétrico
- tipo primitivo
Un primitivo es cualquier tipo que no se crea a partir de otros tipos. Esto significa que un primitivo no es un compuesto, y no puede desglosarse más. Algunos ejemplos de tipos primitivos integrados son
void,logic,int,float,rationalychar. Los primitivos están integrados en el lenguaje Verse.Comparable con tipo de contenedor.
- transacts
Cuando una función tiene el efecto
transacts, significa que la función puede leer y escribir datos, pero esas acciones pueden revertirse si la función también tiene el efecto decides. Este efecto es un efecto exclusivo.Una función sin efecto exclusivo especificado, puede leer y escribir datos, pero no se puede revertir.
- Unicode
Estándar de codificación de caracteres desarrollado por el Consorcio Unicode para proporcionar una compatibilidad comparable a los caracteres en todos los idiomas, las plataformas y los dispositivos.
- unidad de código
La combinación de bits mínima que puede representar una unidad de texto codificado. UTF-8 utiliza 8 bits para su unidad de código.
- unset (sin definir)
- UTF-8
El esquema de codificación de caracteres Unicode: un estándar desarrollado por el Consorcio Unicode para proporcionar una compatibilidad comparable a los personajes en todos los idiomas, las plataformas y los dispositivos.
Los emoticonos parecen imágenes o iconos, pero no lo son. Son letras (caracteres) del conjunto de caracteres UTF-8 (Unicode).
UTF-8 cubre casi todos los caracteres y símbolos del mundo.
- valor
Un valor es la información que utiliza tu programa para funcionar. Ejemplos de valores son los números o el texto.
- variable (código)
Un valor que puede cambiarse mientras se ejecuta un programa. Se llama variable porque puede variar.
A veces, el término «variable» se refiere a las variables y a las constantes de forma colectiva; sin embargo, aunque las variables y las constantes son similares, hay una diferencia importante: el valor de una constante no puede cambiarse mientras se ejecuta un programa.
La sintaxis básica de una variable es
var name : type = value.vares una palabra clave que indica que esto es una variable, mientras quenamees el nombre que asignas a la variable (conocido como identificador). Los dos puntos:indican que viene un tipo. El símbolo=indica que viene un valor y, a continuación, el propio valor. Por ejemplo:VersePlayerSpeed : float = 2.0Esto dice que PlayerSpeed tiene un valor de 2.0 (representado como un valor decimal que no cambia mientras se ejecuta el programa).
El nombre y el tipo es la declaración, y la inicialización es donde se expresa ese valor. Una variable no tiene por qué tener un valor asignado cuando se inicializa, pero es recomendable que lo tenga.
Las variables se diferencian de las constantes en que puedes cambiar el valor de una variable en cualquier momento. Esto se hace con una expresión de asignación.
- variable de puntero
Una variable de puntero apunta a una ubicación de memoria donde se almacena un valor. Después de crear una variable de puntero, no puedes cambiar su ubicación de memoria, pero puedes cambiar el valor almacenado en esa ubicación de memoria.
- variable self
Selfes un identificador especial en Verse que puede utilizarse en un método de clase para referirse a la instancia de la clase sobre la que se ha llamado al método. Puedes referirte a otros campos de la instancia a la que se ha llamado al método sin utilizarSelf, pero si necesitas referirte a la instancia en su conjunto, debes utilizarSelf.- varies
Este efecto indica que la misma entrada a la función puede no producir siempre la misma salida. El efecto
variestambién indica que no se garantiza que el comportamiento de la función sea el mismo con nuevas versiones de su paquete contenedor.- verbosidad
Un ajuste para limitar la cantidad de información adicional que se mostrará cuando se genere un registro.
- Verse
Verse es un lenguaje de programación comprobado estáticamente con énfasis en la programación de juegos.
- vida útil
Consulta vida útil.
- vinculado
Para UEFN, consulta vincular.
Para Verse, una variable a la que se ha realizado una vinculación. Todas las variables de Verse se vinculan inmediatamente después de definirse; no pueden encontrarse en un estado no vinculado.
- vincular
En programación informática, vincular consiste en crear una conexión entre dos o más objetos de programación durante un tiempo determinado.
En Fortnite, vincular consiste en asociar una función a un evento.
En Verse, vincular consiste en crear una conexión entre dos o más objetos de programación durante un tiempo determinado. Por ejemplo, si vinculas una función a la propiedad
InteractedWithEventde un botón, significa que cada vez que un jugador interactúa con ese botón, se llama a la función vinculada. Esto puede hacer referencia a la asociación de una variable con un valor o un objeto, o a la asociación de un controlador con un evento.- Visual Studio Code
Visual Studio Code, también conocido como VS Code, es un editor de código fuente creado por Microsoft para Windows, Linux y macOS.
- VPL
Consulta lenguaje de programación visual.
- ámbito
El ámbito hace referencia a la parte del programa en la que es válida la asociación de un nombre a un valor y en la que ese nombre puede utilizarse para referirse al valor. Por ejemplo, las constantes o variables que crees dentro de una función solo existen en el contexto de la misma. Esto significa que la duración de los objetos está limitada al ámbito en el que se crean y no puede utilizarse fuera de ese bloque de código.
- éxito
Cuando una expresión se completa sin errores, es correcta. Comparable con contexto de fallo.
- índice
Un índice representa las posiciones de los elementos de una secuencia mediante una representación numérica. Una secuencia puede ser una lista, una cadena de caracteres o cualquier secuencia arbitraria de valores.
Los índices utilizan una numeración con base cero. Esto significa que la primera posición del índice es 0 y la quinta posición sería 4.
- único
El especificador unique puede aplicarse a una clase para convertirla en una clase única. Para construir una instancia de una clase única, Verse asigna una identidad única para la instancia resultante. Esto permite comparar instancias de clases únicas para la igualdad mediante la comparación de sus identidades. Las clases sin el especificador `unique` no tienen esta identidad, así que solo se pueden comparar para determinar su igualdad sobre la base de los valores de sus campos. Esto significa que las clases `unique` se pueden comparar con los operadores = y <>, y que son subtipos del tipo comparable.