Verse es un lenguaje de programación nuevo. Si ya tienes experiencia programando y ves algo que no comprendes totalmente, échale un vistazo al glosario.
Si apenas estás comenzando, el glosario también es para ti. Hemos añadido definiciones de muchos términos de programación, así que es posible que encuentres aquí las respuestas que buscas.
- abstracción
Un principio de programación donde los detalles innecesarios se ocultan al usuario cuando el usuario no necesita comprender las complejidades ocultas. Por ejemplo, puedes colocar dinero en una máquina expendedora y obtener un dulce sin comprender cómo funciona la mecánica.
- actualización de simulación
Ronda recurrente, paso o incremento de lógica, comportamiento y otros cálculos para una simulación. A menudo, se abrevia como actualizar o se usa de manera similar que con tic o fotograma. En general, una actualización de simulación tiene un tiempo transcurrido que puede ser constante o variado. Suele denominarse tiempo delta, que puede coincidir o no con el pasaje de tiempo real. Por ejemplo, una actualización de simulación puede ser más rápida, tener la misma velocidad o ser más lenta que en tiempo real.
Una actualización de simulación suele estar en el paso 1:1 con la renderización de un fotograma (este es el valor predeterminado para Verse). Sin embargo, una actualización de simulación puede ser menos o más frecuente que un fotograma, por ejemplo, cuando un cliente de juego en línea queda desincronizado con el 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.
- agente
Un agente puede representar a un jugador o a un personaje no jugador (PNJ).
- agrupar
La acción de encerrar una expresión entre
(). Esto especifica explícitamente el orden de evaluación. Las agrupaciones también pueden mejorar la legiblidad del código.- algoritmo
Un algoritmo es una secuencia de instrucciones escritas para solucionar un problema o realizar una tarea. Imagínalo como una receta para preparar un platillo. Cuando escribes código que soluciona un problema o realiza una tarea, dicho código es un algoritmo.
- alias de tipo
Un alias de tipo es una manera de formular un nuevo nombre para un tipo existente. Cuando declaras un alias de tipo, puedes usar el alias en lugar del tipo existente. Un alias de tipo no crea un nuevo tipo, solo proporciona un nuevo nombre para un tipo existente.
- analizador
Un programa para analizar código.
- analizar
Analizar, en ciencias de la computación, sucede cuando una cadena de comandos, usualmente un programa, se separa en componentes más fáciles de procesar, se analizan para ver si la sintaxis es correcta y, a continuación, se adjuntan a etiquetas que definen cada componente.
- anidado
Cuando un código está anidado, un bloque de código está 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 asignar 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,MaxShieldsyAllowOvershieldque son distintos de los valores de clase predeterminados.De la misma manera, también puedes anular valores de método.
Para conocer más sobre este tema, consulta subclase.
- análisis semántico
También conocido como análisis sensible a contexto. El análisis semántico se ejecuta en el compilador después de obtener la información semántica necesaria del código fuente (el código que escribiste). Revisa la coherencia de tu código en búsqueda de errores semánticos y ejecuta revisión de tipos para asegurarse de que cada operador tenga un operando, o para asegurarse que una variable se declare antes de usarse.
- API
Acrónimo en inglés de interfaz de programación de aplicaciones. Se trata de bibliotecas que, por lo general, se agrupan en conjuntos de funciones, tipos y estructuras de datos que se pueden llamar y que permiten a los usuarios acceder e interactuar con los sistemas de Unreal y Fortnite.
- argumento
El valor asignado a un parámetro en una firma de función asignada 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.
- asíncrona
Una expresión asíncrona tiene la posibilidad de tomar tiempo para evaluar, pero no necesariamente tiene que hacerlo. Una expresión asíncrona puede completarse o no en la actualización de simulación actual o en una posterior. Las funciones asíncronas que se identifican con un especificador
suspendstambién se denominan corrutinas. Las expresiones asíncronas contrastan con las expresiones inmediatas.- atómico
Una unidad de código única y completa que se ejecuta por completo o falla por completo, sin interrupción u observación de otro código. El código atómico no puede interrumpirse. Todas las expresiones adyacentes, inmediatas, no asíncronas se consideran atómicas; se garantiza que su código se ejecute sin interrupción con la misma actualización, y sin prevención o cambio de contexto.
- base-16
El hexadecimal (de hexa-, que significa seis, y decimal, que significa diez), base 16 (a menudo abreviado como hex) es un sistema de numeración que utiliza 16 símbolos, en lugar de los 10 símbolos más familiares en base 10.
- biblioteca estándar
Una serie de funciones, constantes y otras definiciones del lenguaje disponibles en Verse. Esta biblioteca proporciona implementaciones de necesidades de programación comunes. Es un recurso de cosas que los programadores usan frecuentemente, como funciones matemáticas.
- bidireccional
Que funciona en dos direcciones.
- 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 esto es, usualmente, un marcador de posición que se llenará con expresiones más adelante.
Los bloques de código vienen después de un identificador.
En Verse, un bloque de código tiene tres formatos posibles. Todos estos formatos son semánticamente iguales en el sentido de que el formato no cambia lo que el código realmente hace.
Un formato espaciado comienza el bloque con
:, y cada expresión sigue 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 es parte del Bloque, pero el Bloque comienza al final de esa línea con:. También puedes usar;para separar múltiples expresiones en una sola línea:Verseif (test-arg-block): expression1; expression2; expression3En un formato multilínea con llaves, el bloque se encierra entre
{}(llaves) y las expresiones están en líneas nuevas:Verseif (test-arg-block) { expression1 expression2 }Al igual que con el formato espaciado, también puedes utilizar
;para separar múltiples expresiones en una sola línea.Verseif (test-arg-block) { expression1; expression2 }El tercer formato es el formato de línea única con llaves. Nuevamente, el bloque está encerrado 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 contiene cero (ninguna) expresión es un bloque vacío. Generalmente, los bloques vacíos se usan solo como marcadores de posición y se llenarán con código más adelante.
- booleano
Consulta Lógica booleana.
- break
Una expresión que "se rompe" del
bucleactual y ejecuta la siguiente expresión después de la expresión de bucle. Para más información, consulta Loop y break.- bucle de juego
Un bucle de juego es código que se ejecuta de manera repetida (en bucles o loops) para responder a las entradas del jugador (en general, cuando este interactúa con el controlador o el mouse) para actualizar el estado del juego, y para proporcionar resultados que muestren al jugador que afectó el estado del juego, como cuando presiona un botón para activar una luz. El bucle normalmente finaliza cuando el juego alcanza un estado de finalización, como cuando el jugador logra un objetivo, o un estado de fracaso, como cuando el jugador se queda sin tiempo antes de lograr el objetivo.
- bucle infinito
Un bloque de bucle que se repetirá para siempre. Consulta también loop y break (bucle e interrupción).
- C++
Lenguaje de programación popular que se usa en muchas aplicaciones diferentes, especialmente en motores de juegos, como Unreal Engine.
- caché
Manera de almacenar datos para poder acceder a ellos más rápidamente.
- cadena vacía
Una cadena que no contiene ningún carácter
""se denomina cadena vacía.- calificar
Definir un identificador dentro de un ámbito que permita que el identificador se "reutilice". Por ejemplo, podrías tener una constante denominada "cat". Podrías usar el mismo nombre para un campo de clase denominado "sarah.cat". Ambos incluyen el nombre "cat" pero "sarah.cat" ha sido calificada.
- cambio de contexto
Un cambio de contexto es el proceso de almacenar el estado de un proceso o subproceso para que pueda restaurarse y reanudar la ejecución en un punto posterior, y luego restaurar un estado diferente, previamente guardado.
- campo
Consulta miembro.
- cancelada
- carácter de escape
El carácter de escape de Verse es la barra invertida ( \ ), que crea una secuencia de escape dentro de un literal de cadena. Se usa para alterar caracteres de control que, de otro modo, se interpretarían de manera diferente. Por ejemplo, si estás trabajando con una cadena y deseas incluir caracteres que tienen usos predefinidos, como { }, debes incluir el carácter de escape "" antes del carácter en la cadena. Esto haría que
"\\{\\}"se renderice como {} en el texto.- casting de tipo
Puedes convertir una clase a una de sus subclases (lo que se denomina proyección de tipo) utilizando la sintaxis
NewReference := type_to_cast_to[Reference], dondetype_to_cast_toes el tipo que deseas utilizar. Esta es una expresión falible, porque la conversión de tipo fallará si no se puede convertir el objeto a dicho tipo, por ejemplo, si la clase es de un tipo distinto de la subclase.En el siguiente ejemplo, se muestra cómo convertir
TaggedDevice, que tiene el tipocreative_device_base, en un tipocustomizable_light_devicepara poder utilizar sus funciones específicas. SiTaggedDeviceno es un dispositivo de luz personalizable, entonces no llamará aTurnOn().Verseif (LightDevice := customizable_light_device[TaggedDevice]): LightDevice.TurnOn()- Ceil (Ceiling o techo)
Operación matemática que redondea hacia arriba un valor racional al entero más cercano. Compáralo con
Floor.- char (carácter)
Un tipo de datos que almacena un único carácter.
- CI/CD
CI/CD es integración continua y entrega continua o implementación continua. CI/CD une el desarrollo y la aplicación mediante la automatización en la compilación, prueba e implementación de aplicaciones.
- clase abstracta
Cuando una clase o un método de clase tiene un especificador abstracto, no puedes crear una instancia de la clase. Una clase abstracta está pensada para usarse como una superclase, donde algunos miembros se implementan o especifican, pero no todos. También se denomina clase base.
- clase base
Una clase de la que se 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 superclase.
- clase concreta
Una clase con un especificador concreto es una manera de construir una instancia de la clase con un arquetipo vacío, lo que significa que todos los campos de la clase deben definirse con un valor inicial.
- clase interna
Una clase 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 personaje es la asignación entre un personaje de texto y los datos que la computadora puede entender, lo que se denomina punto de código.
- codificación rígida
Se dice que la información está en codificación rígida cuando está insertada directamente en el código en vez de asignarse a una variable. Esto suele hacer que el código sea inflexible y más difícil de actualizar, pero hay ocasiones donde puede resultar conveniente.
- comentario
Comentario escrito por un programador que explica algo acerca del código o del motivo del programador sobre la manera de programar algo. Mientras que el código mismo muestra el cómo del programa, los comentarios normalmente se añaden para explicar el porqué.
Los comentarios de código pueden aparecer en cualquier parte del código y comienzan con
#. Cuando se ejecuta el programa se ignoran los comentarios de código.Puedes hacer un comentario en una sola línea colocando un
#al principio de la línea. El salto de línea al final termina el comentario.Verse# A single line is commented this way.Puedes hacer un comentario de bloque multilínea
usando <#para iniciar el bloque y#>para finalizarlo: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 al código, consulta la referencia rápida del lenguaje Verse.
- comentario de código
Consulta comentario.
- compilador
Software que convierte las instrucciones del programa legibles por humanos en instrucciones ejecutables por una computadora; a veces se denomina analizador. El período de tiempo en el que se ejecuta el compilador se conoce como tiempo de compilación.
- compilar
Convertir programas de un lenguaje legible para humanos en instrucciones ejecutables por computadora.
- completada
El estado de una tarea que se ejecutó hasta su finalización.
- componente
Cuadro autónomo para renderizar un terreno. A veces, los componentes se denominan 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 se supone que debe hacer una entidad en la escena.
Los componentes tienen propiedades editables que pueden ser físicas, como en una malla estática o un sistema de partículas, o lógicas como en una etiqueta de juego o en código personalizado de Verse, lo que define el movimiento de una plataforma. Por defecto, todas las entidades tienen un transform component para especificar dónde existe la entidad en el entorno.
En Verse, una función o grupo de funciones relacionadas en un programa que puede reutilizarse.
- comprobación estática
Una comprobación automatizada durante la compilación que puede detectar errores en la semántica del código.
- 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 es cuando una cadena se anexa (añade) a otra cadena. Puedes usar el operador + para concatenar cadenas.
- concatenar
Consulta concatenación.
- concurrencia estructurada
La concurrencia estructurada describe operaciones concurrentes dentro de la vida útil restringida a un comando concurrente específico y un ámbito de contexto asíncrono. Es un control de flujo estructurado como
if,fororeturnque restringe a un ámbito asociado.En Verse, las expresiones de concurrencia estructurada incluyen
sync,race,rushybranch.- concurrencia no estructurada
Expresiones concurrentes con una vida útil que no está restringida lógicamente a un comando concurrente específico o ámbito de contexto asíncrono. Esta vida útil potencialmente se extiende más allá del ámbito donde se ejecutó. Es similar al control de flujo no estructurado, como los comandos
gotooassembly jump.- concurrente
Múltiples cálculos que se ejecutan en el mismo período de tiempo efectivo son concurrentes. Se trata de actualizaciones de simulación lógica superpuestas, tics y fotogramas, incluso si están potencialmente distribuidos en el tiempo físico, como en un único procesador, y no necesariamente en paralelo.
- condicional
Una expresión que evalúa una condición y ejecuta instrucciones basadas en el resultado de la condición. Un ejemplo de un condicional es una
expresión if.- condición
Una condición es algo que el programa puede comprobar si es verdadero o falso. Una expresión condicional puede evaluar la condición y devolver un resultado de verdadero o falso.
- condición race
Una condición race sucede cuando un programa intenta realizar dos o más operaciones al mismo tiempo, para las operaciones que deben realizarse en secuencia para hacerlo correctamente.
- confirmación
Una confirmación es cuando registras un conjunto de cambios en el código a un sistema de control de versiones.
En Verse, una confirmación es cuando los efectos de código de una expresión falible 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 la ejecución de un programa. Se llama constante porque permanece constantemente igual.
La sintaxis básica de una constante es
name : type = value. Elnamees un nombre que asignas a la constante (conocido como identificador).:dice que viene un tipo. El=dice que viene un valor, luego el valor mismo. Por ejemplo:VersePlayerSpeed : float = 2.0Esto indica que PlayerSpeed tiene un valor de 2.0, representado por un valor decimal que no cambia mientras se ejecuta el programa.
La constantes siempre tienen valores asignados. El nombre y el tipo es la declaración, y la inicialización es donde se expresa ese valor.
Compáralo con variable.
Para obtener más información, consulta Constantes y variables.
- consulta
Las expresiones de consulta usan el operador
?para comprobar si un valor lógico u opcional esverdadero.- 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 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 los distintos elementos y restricciones del lenguaje. Este suele ser el rango entre el comienzo 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 corrutina.
- contexto de fallo
Un contexto de fallo es un contexto donde se permite ejecutar expresiones que pueden fallar. El contexto define lo que ocurre si la expresión falla.
- contrato con un genio
Escribir código a veces se compara con hacer un contrato con el genio en el sentido de que un programa seguirá tus instrucciones exactamente, incluso cuando el resultado no es exactamente el que esperas. Consulta también programa.
- controlador
Un controlador es la función que se llama para responder a un evento vinculado. Por ejemplo, si vinculas una función al InteractedWithEvent de un botón, significa que cada vez que el jugador interactúe con dicho botón, se [llama](#call) a la función vinculada.
- converges
El conjunto de efectos "más pequeño". Es código que garantiza producir un valor en una cantidad finita de tiempo sin divergir.
- conversión
La conversión de un valor en distintos tipos de datos. Las conversiones de tipo pueden realizarse de manera implícita o explícita. Conversión implícita. también denominada coerción, se realiza de forma automática.
- corchetes
Los corchetes se usan en Verse para especificar distintos tipos de información en el código. Verse usa cuatro tipos de corchetes. Sus usos incluyen, entre otros, los siguientes:
()Los paréntesis se utilizan para establecer parámetros en la firma de una función y argumentos en una llamada a función, y para agrupar expresiones, tuplas y subclases.[]Los corchetes (también llamados corchetes) se utilizan para llamadas a función falibles, especificadores de tipo para matrices y mapas, e 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
Rutina con una vida útil que realiza el trabajo con el tiempo o espera a que ocurran varios eventos y estados, o una combinación de ambos. Corrutina es sinónimo de función asíncrona.
- cuerpo
Un bloque con su propio ámbito que define las subexpresiones de un elemento de lenguaje, como el cuerpo de una función o el cuerpo de un bucle. Por ejemplo, el cuerpo de una función contiene expresiones que definen lo que hace la función, y cualquier variabledeclarada en la función es local a ese cuerpo de función.
- código
Código, también denominado código fuente, es el conjunto de instrucciones, escritas por un programador, que le dicen al programa de software cómo funcionar. Un programador puede leer el código fuente de Verse, pero no una computadora. Antes de que la computadora pueda leer o ejecutar el programa, tiene que convertirse a instrucciones ejecutables por computadora, lo que se denomina compilación. Cuando un programador dice que está programando quiere decir que está escribiendo 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 falible. Las definiciones de función con el efecto decides también deben tener el efecto transacts, lo que significa que las acciones que realiza esta función se pueden revertir como si nunca se hubieran realizado si hay un fallo en cualquier parte de la función.
- declaración
Una declaración es una expresión en la que se introduce un identificador junto con su tipo. Puede implementarse (usarse) o no, y puede tener o no un valor asignado (inicializado).
var name : type = expressiones la sintaxis para una declaración de una variable. Por ejemplo:Versevar PlayerSpeed : float = 2.0Esta línea de código declara que una variable denominada PlayerSpeed tiene un valor float.
En este ejemplo, la última parte,
= 2.0, es la inicialización que está separada de la declaración.- declarar
Declaras una variable o una función al especificar su identificador y tipo. Se puede comparar con inicializar.
- decorar
Al escribir código, decorar significa incluir un fragmento de código dentro de otro.
- definición
Una definición es cuando un identificador se implementa o tiene un valor asignado, como una definición de función o una definición de clase. Compáralo con declare.
- definir
Consulta definición.
- dependencia
La dependencia es cuando un módulo depende de otros módulos para alguna de sus funciones.
- depuración
El proceso de identificar y resolver errores en el código.
- depurador
Herramienta que se utiliza para la depuración, donde puedes ver el estado del programa en cada paso de ejecución.
- desarrollador
Alguien que usa herramientas de Fortnite para crear (desarrollar) una isla en Fortnite, especialmente cuando usa UEFN. Este término incluye a desarrolladores, artistas y arquitectos de las islas de Fortnite.
- desborde de entero
Un desbordamiento de enteros sucede cuando se hace un intento de almacenar un valor que es demasiado grande para los valores definidos para el tipo entero.
- despachar
Despachar es enviar algo a algún sitio. En Verse, esto puede ser despachar una llamada a una función o despachar un evento a un oyente, por ejemplo.
- destrucción determinista
La destrucción determinista, presente en algunos lenguajes de programación, es la destrucción de objetos cuando un programa sale de su ámbito.
- determinista
Un sistema determinista es aquel donde el mismo estado o entrada inicial producirá siempre los mismos resultados.
- dispositivo
Los dispositivos son objetos de Fortnite que realizan tareas específicas cuyo fin es controlar la jugabilidad.
Un dispositivo, al igual que un objeto, es algo que puedes colocar en la isla. Sin embargo, los dispositivos son diferentes a la utilería, ya que los usas para crear interacciones con los jugadores. Cada dispositivo hace algo diferente, pero todos hacen algo.
Piensa en un dispositivo como un paquete de mecánicas de juego que tiene características específicas que se pueden personalizar a fin de adaptarlas a tu jugabilidad. La mayoría de los dispositivos se pueden personalizar, pero todos tienen ajustes predeterminados que determinan cómo funcionan, aunque no los hayas personalizado.
En Verse, un dispositivo es el bloque de construcción básico utilizado para construir las mecánicas del juego. Los dispositivos controla las interacciones de los jugadores dentro del juego.
- dispositivo creado con Verse
Un dispositivo para usar en Unreal Editor para Fortnite (UEFN) que se programa directamente con Verse.
- diverge
Se dice que la ejecución de un programa diverge si no termina (finaliza) como se esperaba. Si produce un valor dentro de una cantidad finita de tiempo sin divergir, converge.
- doc
Un campo de nota genérico que encontrarás en clases y funciones (pero no en parámetros de función) que contiene información útil sobre lo que hace el elemento que describe o cómo usarlo, y se usa para propagar la página de ese elemento en la referencia de la API de Verse.
- dominio
Dominio es un conjunto de entradas que un parámetro determinado acepta. Un tipo es una forma de especificar un dominio, pero el dominio es más amplio que el tipo.
- duración
El tiempo entre la creación de un objeto y su destrucción. Sinónimo de vida útil.
- editable
Un atributo que puedes añadir al código para exponer las propiedades en UEFN. El etiquetado de código con este atributo consiste en añadir un
@attribute_name(en este caso,@editable) antes de un identificador de campo:Verse@editable PropertyName : type = DefaultValuePor ejemplo, el campo cadena
GreetingMessagees una propiedad editable con el valor predeterminado"Hello, stranger":Verseexpose_properties := class(creative_device): @editable GreetingMessage : string = "Hello, stranger"Para obtener más información sobre cómo usar esto, consulta Personaliza las propiedades de tu dispositivo en el Editor.
- efecto
Un efecto es una categoría de comportamiento que puede exhibir 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 delparámetroHealth. A continuación, dice que los efectos que exhibe la función sondecidesytransacts, es decir, la función es un contexto de fallo y sus acciones pueden revertirse si la función falla. Si el valor deestadoque se pasa como entrada a la función es mayor que 0.0 y menor o igual a 30.0, la función tiene éxito. De lo contrario, la función falla y el contexto que llamó a la función debe controlar ese fallo.VerseIsCriticalHealth(Health : float)<decides><transacts> : void = ((Health > 0.0) && (Health <= 30.0))Para obtener más información, consulta Especificadores y atributos.
- efecto aditivo
Un efecto aditivo es un efecto que puede añadirse 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 pueden utilizarse con otros efectos exclusivos. Los efectos exclusivos incluyen
computes,variesytransacts. Los efectos aditivos incluyensuspendsydecides.- efecto secundario
Un efecto secundario ocurre cuando algo de código, como una función o una expresión, modifica algún estado fuera de su ámbito.
- ejecución
El proceso de una computadora al interpretar un programa y realizar las instrucciones del programa.
- ejecución especulativa
Verse aprovecha los contextos de fallo para que puedas probar acciones sin tener que confirmarlas. Esto se denomina ejecución especulativa. Si una expresión tiene éxito, el efecto de la expresión se confirma, como el cambio de 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 denomina ejecución secuencial.
- ejecutar
Ejecutar un programa.
- elemento
Parte simple de un grupo más grande. Por ejemplo, una matriz puede incluir diferentes elementos que pueden almacenarse y usarse de forma individual.
- entero
Un entero es un número completo (no 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 denomina entero con signo porque puede usar un signo + o - en el extremo izquierdo para indicar si el número es positivo o negativo. Un entero sin signo puede ser solo un número positivo o cero.
- enteros alternativos
Consulta hexadecimal.
- entorno de metaverso
Entorno de ejecución persistente y globalmente coherente, en tiempo real del mundo en 3D con un entorno de tiempo de ejecución que ejecuta código concurrente, complejo e interdependiente escrito por el usuario con millones de usuarios conectados simultáneamente.
- error
Para el modo Creativo de Fortnite y UEFN, un comportamiento incorrecto o inesperado en un programa.
Para Verse, un error lógico es un error en un programa informático que provoca que produzca un resultado incorrecto o inesperado. Los errores lógicos ocurren durante el tiempo de ejecución, al contrario de los errores del compilador, que se producen durante el tiempo de compilación de Verse. El proceso de identificar y quitar errores lógicos se denomina depuración.
- error de sintaxis
Consulta error del compilador.
- error del compilador
Un error del compilador se produce cuando el compilador de Verse detecta un uso incorrecto de código en el momento de la compilación. Lo contrario pasa con los errores lógicos, que suceden 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 utilizar para obtener una matriz de jugadores o equipos, o el equipo de un jugador en particular. También te permite suscribirte a eventos de jugadores añadidos y jugadores eliminados.
- 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 pueden ser de 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 las clases:
public: acceso sin restricciones.
internal: acceso limitado al módulo actual. Este es el acceso predeterminado.
protegido: 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 valores originales en un objeto más cualquier modificación realizada.
- estado del juego
El estado de un juego u otra simulación. Se compone de todos los valores de datos que describen un sistema. Los valores constantes y variables determinan el estado del sistema.
- evaluar
- exclusión mutua
Cuando más de un proceso accede al mismo segmento de código, dicho segmento se denomina sección crítica. La exclusión mutua es una manera 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
atributoeditable en 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 siguiente ejemplo es una expresión
if … else; es decir, si el valor reúne los criterios indicados es una cosa, si no, es otra cosa.Verseif (a > 5): “Big!” else “Small!”En Verse, todo es una expresión, desde los literales hasta las llamadas a función o el flujo de control.
Esto se compara con una instrucción, que es un comando independiente que no tiene un valor resultante. En Verse, todo es una expresión y no hay distinciones entre las instrucciones y las expresiones que pueden evaluar a un valor.
Para obtener información más detallada, consulta Expresiones.
- expresión de asignación
En Verse, una expresión de asignación almacena un valor en una ubicación mutable, como al inicializar una variable o cambiar el valor de una variable.
- expresión de bloque
Una expresión de bloque es una forma de agrupar expresiones como una expresión única o de anidar un bloque de código. Las expresiones de bloque se comportan de forma similar a los bloques de código.
- expresión de caso
Una expresión de caso puede controlar el flujo de un programa a partir de una lista de opciones. Para obtener más información, consulta Case.
- expresión de comparación
En Verse, las expresiones de comparación son cuando comparas dos cosas mediante uno de los operadores de desigualdad:
<,>,<=,>=,<>.- expresión de decisión
Las expresiones de decisión utilizan los operadores
not,andyorpara controlar el éxito y el fracaso del flujo de decisión.- expresión de derivación
Una
expresiónde derivación comienza un bloque de una o más subexpresiones asíncronas. Cualquier expresión que siga se ejecuta inmediatamente.Para obtener más información, consulta Concurrencia.
- expresión de igualdad
En Verse, las expresiones de igualdad suceden cuando comparas si dos cosas son iguales con el operador =.
- expresión de nivel superior
Una expresión de nivel superior es una expresión que no está anidada en 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 entre dos valores especificados con
..entre ambos valores, por ejemplo,1..5. Las expresiones de rango solo pueden usarse en sitios específicos, como en las expresionesfor.- expresión falible
Una expresión falible 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 for
Una
expresiónfor, a veces denominada for loop, es igual a una expresión de bucle, excepto que las expresionesforestén limitadas, lo que significa que el número de iteraciones se conoce antes de que se ejecute el buclefor, y las decisiones de cuándo salir del bucle están automatizadas. Para obtener más información, consulta For.- expresión if
Con la
expresiónif, puedes tomar decisiones que cambian el flujo del programa. Como en otros lenguajes de programación, la expresiónifen Verse admite ejecuciones condicionales pero, en Verse, las condiciones usan éxito o fracaso para impulsar la decisión.- expresión matemática
En Verse, una expresión matemática es una expresión que utiliza uno de los siguientes operadores:
+,-,*o/.- expresión spawn
Una
expresiónspawn inicia una función asíncrona. Cualquier expresión que siga a una expresión spawn se ejecuta inmediatamente sin esperar a quespawnse complete. La expresiónspawncontinúa independientemente hasta que se completa.- f
Consulta float.
- fallar
En Verse, de manera predeterminada ningún código que escribe el usuario puede fallar. Esto significa que, en lugar de tener una función que devuelve booleanos u opciones, usa
<decides>para devolver un valor, nulo, o fracasa.- final
Un especificador que solo puede usarse en clases y miembros de clases:
Cuando una clase tiene el especificador final, no puedes 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.
- fire-and-forget (dispara y olvida)
Dispara y olvida se refiere a una expresión en la que no te importa cuando se completa o si se completa satisfactoriamente. Esto es sumamente infrecuente.
- firma de función
La firma de función declara el nombre de la función (identificador), la entrada (parámetros) y la salida (resultado) de la función. Las funciones de Verse también pueden tener especificadores que especifican cómo usar o implementar una función.
- Floor (suelo)
Una operación matemática que redondea hacia abajo un valor racional al entero más cercano. Se puede comparar con
Ceil.- flujo de tiempo
Una sección de una cuadrícula en una superficie, como un piso o una pared.
El control del flujo de tiempo está en el centro del lenguaje de programación Verse y se logra con expresiones concurrentes.
El flujo de tiempo es un tipo de control de flujo pero donde el flujo de control es acerca del orden en el cual una computadora ejecuta las instrucciones en función del orden de las expresiones en el programa; el flujo de tiempo controla la ejecución en el tiempo, no la secuencia, según cómo se usan las expresiones de concurrencia.
Flujo de tiempo es otra manera de decir concurrencia.
- fotograma
Un fotograma es una imagen completamente renderizada (como en el monitor de un equipo o televisor) que representa una simulación en un momento específico en el tiempo. Un fotograma a veces se usa de forma similar con una actualización de simulación (o tic), ya que, por lo general, van a la par, aunque los fotogramas nuevos pueden ocurrir a una velocidad distinta (con más o menos frecuencia) que una actualización de simulación. La velocidad de fotograma, o fps (fotogramas por segundo), es el número de fotogramas que aparece por segundo.
- fragmento
Consulta fragmento de código.
- fragmento de código
Un fragmento es código, normalmente corto, cuya finalidad es exponer o implementar un concepto específico.
Los fragmentos de código no son programas completos independientes. Los fragmentos de código se pueden copiar y pegar en bloques de código. Compáralo con el ejemplo de código.
- función (código)
Una función (también denominada rutina) es código reutilizable que ofrece instrucciones para realizar una acción o crear una salida en función de una entrada.
Para definir una función, debes brindar tres partes clave: un nombre único, el tipo de información que se espera como su resultado y qué hará la función cuando se le llame.
La siguiente es la sintaxis básica de una función:
Versename() : type = codeblockEl name() y el tipo separados por dos puntos: esta es la firma de función que es cómo debes llamar y usar la función, y el
valor que debe devolver la función es del tipo que proporcionas. Este formato es similar a la forma de crear constantes, excepto por el () después del nombre, que imita la forma de llamar a la función en el código.El bloque de código de la función: defines lo que hará la función cuando se la llame con
=codeblock, dondecodeblockes cualquier secuencia de una o más expresiones. Siempre que llames a la función, se ejecutarán las expresiones del bloque de código.
- futura
Una tarea que ha comenzado a ejecutarse pero que se ha suspendido sin cancelar. Se denomina futura porque se completará en algún punto en el futuro.
- generador
Un generador produce una secuencia de valores, uno a la vez, y otorga un nombre al valor en la secuencia.
- grado de detalle
Un ajuste para limitar cuánta información adicional aparecerá cuando se genere un registro.
- gráfica de llamadas
Una lista de los métodos en 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.
- herencia
En Verse, puedes crear una clase que extienda la definición de otra clase al añadir o modificar los campos y métodos de la otra clase. Esto se denomina a menudo subclase o herencia porque una clase hereda las definiciones de otra clase.
- hexadecimal
En Verse, puedes usar el sistema numérico hexadecimal (base-16) para representar enteros en lugar del sistema numérico decimal que usa base de 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, por sus siglas en inglés) es un software que proporciona una interfaz de usuario para crear y depurar programas.
- identificador
Un identificador es el nombre que se le da a los elementos de un programa, como variables o funciones, para identificarlos de forma exclusiva.
- inferir
Hay instancias en las que no necesitas especificar explícitamente el tipo, como cuando se crea una constante. Por ejemplo, en
MyConstant := 0, el tipo de MyConstant se infiere como un entero porque se asignó un valor entero. En instancias como esta, se infiere el tipo.- infijo
Un formato para un operador donde hay dos operandos, y el operador está entre los operandos.
- inicializar
Para crear una variable, especifica su identificador y tipo; esto se denomina declarar una variable, y asignarle un valor a la variable se denomina inicializar.
- inmediata
Una expresión inmediata se evalúa sin demora, lo que significa que la evaluación se completará en la actualización de simulación actual.
- inmutable
Después de crear un objeto, su estado no se puede modificar. Se puede comparar 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 se cree. Los cambios que realices en las propiedades de una instancia no afectarán al recurso original. Por ejemplo, puedes cambiar un material para que tenga una apariencia diferente sin cambiar el material principal. Esto sería una instancia de material.
En Verse, una instancia consiste en crear una variable, especificar su identificador y tipo, lo que se denomina declarar una variable, y asignar un valor a la variable, lo que se denomina inicializar.
- instanciación de arquetipo
El proceso de creación de un arquetipo. Compáralo con constructor, que también puede ejecutar funciones lógicas u otras funciones.
- instanciar
Crear una instancia de algo.
En Verse, instanciar es crear una instancia o valor de una estructura o tipo de datos, como una clase o estructura. Consulta también instanciación de arquetipos.
- instrucción
Comando independiente que no tiene un valor resultante. Verse no utiliza instrucciones. En su lugar, utiliza expresiones.
- integrado
En algunos lenguajes de programación, algo que está incorporado es algo que puedes usar directamente dentro del lenguaje y sus bibliotecas estándar.
- interpolación
La combinación de nuevos valores que se encuentran entre valores conocidos.
- intérprete
Programa que analiza y ejecuta un programa línea por línea.
- invocar
Consulta llamada.
- iterar
Ejecutar código para cada elemento en una secuencia.
- jerarquía
Tener niveles o jerarquías claros de rango, importancia o control. Las relaciones jerárquicas más comunes son base/derivado o superclase/subclase.
- jerarquía del efecto
Un efecto es una categoría de comportamiento que puede exhibir una función. La aplicación de efectos exclusivos a una función tiene una jerarquía en la que los efectos más altos en la jerarquía permiten por lo menos todo el comportamiento de los efectos debajo de ellos. La jerarquía es:
transactsvariescomputesconverges
El efecto
transactsincluirá propiedades para los siguientes efectos; el efectovariesincluye los efectoscomputesyconverges, pero notransactsy así sucesivamente.- lenguaje de programación
Un lenguaje formal que se utiliza para escribir programas informáticos. Existen muchos lenguajes de programación y cada uno tiene sus propias reglas específicas. Algunos ejemplos son los siguientes: Scratch, un lenguaje de programación visual que se utiliza para desarrollar historias interactivas, juegos y animaciones; o C++, un lenguaje basado en texto que se utiliza con frecuencia a la hora de desarrollar juegos. Verse es un lenguaje de programación que desarrolló Epic Games para los creadores que quieren aprender a utilizar las herramientas de desarrollo.
- lenguaje de programación visual
Tipo de lenguaje de programación donde el programador usa elementos visuales, arrastrándolos y conectándolos con otros elementos, para lograr una secuencia específica de instrucciones del programa.
- lenguaje open world
Un lenguaje en el que módulos interdependientes escritos por muchos usuarios y organizaciones distintos pueden evolucionar en el tiempo sin interrumpir la compatibilidad de interfaces y la compatibilidad de datos persistentes al seguir reglas de subtipado claramente definidas.
- limitada
Cuando una expresión es limitada, tiene límites definidos.
- lista de cambios
Una forma de rastrear los cambios en un archivo en Perforce entre los archivos locales que se almacenan en tu computadora y los archivos que se envían al servidor y se fusionan con los archivos de origen del proyecto. La lista de cambios también se denomina CL.
- lista enlazada
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 funcionales pueden tener dos formas, según si la función tiene el efecto
decides:FunctionName()yFunctionName[]. El tipo de resultado de la expresión de la llamada a la función se define en la firma de función.- llamador
- llaves
Consulta los paréntesis.
- local
Se refiere a una constante o a una variable dentro de un bloque de código. No se pueden usar fuera del bloque de código donde se crearon. Consulta también ámbito.
- localización
En programación, región es un conjunto de parámetros que define el idioma del usuario, la región y otros aspectos de la interfaz de usuario. En Verse,
localees específicamente un tipo que define un contexto de cuándo debe localizarse unmessagee influye en el idioma del texto y los números en función de la región.- lógica booleana
Un sistema de lógica en el que el valor expresado es verdadero o falso, y que a menudo se usa para determinar el flujo de control en lenguajes de programación. Se denomina así por George Boole (1815–1864), un matemático que realizó contribuciones clave en los campos de lógica y álgebra.
En Verse, este es el tipo que se usa para representar verdadero (true) y falso (false) es
logic. Esta lógica booleana se lleva a cabo a través de expresiones falibles en contextos de fallo.- mensaje
En Verse, un
mensajees un tipo que puede contener texto independiente de la región. Cuando inicializas una variablemessagecon un valor destring, la cadena es el texto y el idioma predeterminado para el mensaje.- miembro
Una variable o función con nombre que es una subparte de una estructura de datos compuestos (como una clase, estructura, interfaz o módulo de Verse). Las variables de miembro a menudo se denominan campos, y las funciones de miembro, métodos.
- miembro de datos
Consulta miembro.
- miembro público
- Modo de animación PingPong
En esto, se revierte la dirección de una animación cuando se alcance el último fotograma clave y luego se reproduce de nuevo en dirección opuesta.
- mosaico
Una sección de una cuadrícula en una superficie como un piso o una pared.
Una manera de organizar las opciones del menú de forma visual.
Para Verse: una sección de una cuadrícula en una superficie como un piso o una pared.
- muestra de código
Un programa, módulo o clase independiente que demuestra uno o más conceptos, clases, funciones o algún otro aspecto del lenguaje de programación. Compáralo con fragmento de código.
- mutable
Esto se refiere a un estado de objeto que puede modificarse aún después de creado. En Verse, la mutabilidad solo es posible con los punteros.
Se puede comparar con inmutable.
- mutex
Un mutex es un primitivo de sincronización que otorga acceso exclusivo a un recurso compartido mediante solo un subproceso. Consulta también exclusión mutua.
- método
Un método es una función adjunta a una clase a la que solo se puede llamar en una instancia de dicha clase.
- módulo
Un módulo de Verse es una unidad atómica de código que puede redistribuirse y de la que se puede depender, y puede evolucionar en el tiempo sin romper las dependencias. Puedes importar un módulo a tu archivo de Verse para usar 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 "Not a Number" (elemento no numérico).
- native_callable
Indica que un método de instancia se puede implementar de forma nativa (implementado en C++) y se puede llamar con otro código C++. Puedes ver este especificador usado en un método de instancia. Este especificador no se propaga en subclases, así que no tienes que añadirlo a una definición cuando anulas un método que tiene su especificador.
- nativo
nativeindica que los detalles de definición de un elemento se implementan en C++. Este especificador puede generar automáticamente definiciones de C++ que puede usar el desarrollador. El especificadornativese usa en clases, interfaces, enum, métodos y datos.- nivel de acceso
Los permisos necesarios para acceder a un miembro. Estos se especifican mediante un especificador en el miembro.
- nodo
En UEFN, un nodo es una unidad fundamental dentro de un sistema basado en gráficos que representa una función, una operación o un punto de datos específico. En el contexto de los gráficos de nodos, un nodo es un componente individual que procesa o enruta señales de audio, como una fuente de sonido, un efecto (como reverberación o retraso), un mezclador o una salida.
Para Verse, consulta el nodo de lista enlazada.
- nodo de lista enlazada
Cada elemento de una lista enlazada se denomina nodo. Un nodo es un contenedor que tiene datos y una referencia al siguiente nodo de la lista.
- nodo final
El primer nodo de una lista enlazada se denomina nodo inicial, y el último nodo se denomina nodo final.
- nodo inicial
- numeración basada en cero
Una forma de numeración en la que al primer elemento de una secuencia se asignaría el 0, en lugar del 1. Esto significa que la posición cero en una indexación representa el 1, la primera posición representa el 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
Un término que se usa en distintos lenguajes de programación para definir una variable con un valor fraccionario o un número que contiene un punto decimal, como 0.5 o 1.0. Los números que se crean con una declaración variable 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 con 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 una fracción, por lo tanto, se considera un número irracional. Otro ejemplo de número irracional es Pi, que empieza como 3.14159… y continúa infinitamente.
- objeto
En UEFN, un 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.
- ocultación
La ocultación sucede cuando un identificador oculta a otro identificador. En Verse, la ocultación es un error e impedirá que el código se compile.
- operación
Una acción que realiza un programa para completar una tarea específica. Hay cuatro grupos básicos de operaciones de computación: entrada, proceso, salida y almacenamiento. Una operación es un tipo de expresión.
- operador
Símbolo que representa una acción o proceso. Por ejemplo, en
1 + 2, el signo+es el operador.- operando
La cantidad sobre la cual se realiza una operación. Por ejemplo, en la expresión
1 + 2, el signo+es un operador, y1y2son operandos.- orden de evaluación
Se refiere a la prelación de operador: el orden en el que determinadas operaciones se deberían realizar 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 pueden usarse como identificadores.- par clave-valor
Cuando se asocia una clave con un valor, juntos son un par clave-valor. Es posible buscar el valor mediante la clave.
- paradigma
Patrón o modelo típicos de algo. En programación, un paradigma es una manera de organización de un lenguaje de programación. Existen cuatro paradigmas principales para lenguajes de programación:
Imperativo
Lógica
Funcional
Orientado a objetos
También hay lenguajes multiparadigma, como Verse.
- paralelo
Múltiples cálculos que se realizan en el mismo período de tiempo físico, como en procesadores separados, en paralelo.
- parámetro
Una variable de entrada que incluye un dominio, como un tipo, y un valor predeterminado opcional que se define en una firma de función, que luego se usa en el cuerpo de la función. Se puede comparar con argumento.
- Perforce
Perforce (P4) es una herramienta de software que ofrece control de revisiones (que también se conoce como control de código fuente o control de versiones), que es una manera de rastrear y administrar cambios en código de software. Esto es útil cuando tienes equipos de programadores que trabajan en el mismo proyecto. Si alguien comete un error, el control de versiones permite comparar versiones anteriores del código para detectar y corregir el problema sin interrumpir el trabajo de otra persona.
- persistencia
Cuando los datos del jugador se guardan de una sesión 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 usa un programa para estar al tanto de las llamadas: cuáles funciones se están ejecutando, cuáles han finalizado y cuáles se ejecutarán.
- Ping Pong
Revertir la dirección de un lado al otro.
- polimórfico
Polimórfico proviene 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
Un formato de un operador donde solo hay un operando, y el operador está después del operando.
- predicado
En Verse, un predicado es algo que tiene éxito o falla.
- prefijo
Un formato de un operador donde solo hay un operando, y el operador está antes del operando.
- prelación
El orden en el cual ciertas operaciones deben realizarse en una expresión.
- prelación de operadores
Esto 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 el que se evalúan es importante.
Por ejemplo,
1 + 2 * 3no evalúa a3 * 3, ya que la multiplicación tiene prioridad sobre la suma.La prelación de operadores puede anularse mediante el agrupamiento de expresiones.
- prevención
Interrumpir temporariamente la ejecución de una tarea con la intención de reanudarla más adelante se denomina prevención. Esto lo realiza usualmente un planificador externo sin asistencia ni cooperación de la tarea.
- programa
Un programa es un conjunto de instrucciones que le dicen a la computadora cómo hacer algo. Lo básico de cualquier programa es mostrar cómo la computadora recibirá entradas y devolverá salidas.
Un programa resuelve problemas. Pero los programas son muy literales. Es como firmar un contrato con un genio. El genio (programa) te dará exactamente lo que pediste. Exactamente. Los errores se producen cuando el programador supone lo que debería ocurrir en lugar de describir con precisión qué entrada se puede recibir y qué salida resultará.
- programación
Consiste en escribir instrucciones (un programa) que la computadora pueda compilar y ejecutar.
- programación funcional
Un tipo de programación declarativa que se enfoca en el uso de funciones. La programación funcional apunta a simplificar las pruebas y la depuración mediante la reducción de efectos secundarios. Haskell es un ejemplo de lenguaje de programación funcional.
- programación imperativa
Un paradigma donde 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 usa lógica booleana para controlar cómo se representan o expresan en el sistema los hechos y las reglas sobre los problemas.
- programación lógica funcional
La combinación de paradigmas de programación funcional y lógica en un lenguaje único.
- programación orientada a objetos
La programación orientada a objetos (OOP, por sus siglas en inglés) es un paradigma de programación que se basa en el concepto de clases y objetos.
- propagar
Propagar en una función es lo que ocurre si el que llama no tiene que controlar lo que ocurre en caso de fallo. Por ejemplo, podría llamarse a una función con el
efectodecides desde otra función con el efectodecides. Lo que sea que haya llamado el llamador tendrá que controlar el fallo.- propiedad
Una propiedad es un miembro (campo) que hace posible devolver valores y exponerlos.
- propiedad flexible
- proyección de rayos
El raycasting, o proyección de rayos, dibuja una línea invisible en el espacio desde un objeto para saber si algo colisiona con él.
- pseudocódigo
Pseudocódigo es una descripción detallada en lenguaje llano (no lenguaje de programación) de qué debería hacer un algoritmo. Pseudo significa no verdadero o real, por lo que podría decirse que pseudocódigo es código falso, aunque es útil para elaborar qué debería lograr un algoritmo.
También puedes pensar en un pseudocódigo como un esquema de alto nivel. El pseudocódigo a menudo se escribe para planificar una parte grande o compleja de un programa antes de escribir código real.
- puntero
Un puntero es una manera de hacer referencia a una "caja" mutable que puede contener un tipo de valor específico. Con un puntero, puedes cambiar el valor específico en esa caja. Se puede comparar con valor.
- punto de código
Un valor en el espacio de código Unicode para la codificación de caracteres.
- pura
Declara que una función siempre proporcionará la misma salida exacta con la misma entrada y no tiene efectos secundarios (escribe a variables mutables, efectos IO y demás).
- RAII
La RAII, acrónimo de adquisición de recurso en inicialización en inglés, describe cuando un objeto adquiere recursos solo entre la inicialización y la finalización como una manera de administrar los recursos más eficientemente.
- recursividad
La recursividad sucede cuando una función se llama a sí misma.
- recursividad infinita
La recursividad infinita sucede cuando una función se llama a sí misma de forma directa o indirecta. Esto resulta en que la función intente llamarse a sí misma sin parar y que nunca termine. Esto resulta en un error del programa.
- refactorizar
Cambiar la estructura del código sin modificar su funcionalidad. Por ejemplo, un bloque de código que se repite varias veces en 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 su comportamiento.
- relación is-a
La relación entre una clase base o primaria y una clase derivada o secundaria se conoce como relación "is-a". La clase derivada en una relación is-a hereda de la clase base.
- REPL
Read-Evaluate-Print-Loop (leer, evaluar, imprimir, hacer bucle), o REPL, es un entorno de computación donde puedes ingresar código para que se lea y se evalúe y ver los resultados. REPL permite explorar un lenguaje y ver qué funciona (o no funciona) sin romper nada.
- resultado
Cuando se ejecuta una expresión y genera un valor, ese valor es un resultado.
- resumen
Una lista generada 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 resumen para ver qué API y qué funcionalidad hay en un módulo asociado.
- return
Una expresión que instruye al programa a salir de una subrutina y volver a la dirección de retorno. La dirección de retorno es de 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 genere el valor correcto, 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 una expresión return antes de otro código, el código que sigue no se ejecutará.- reversión
Restaurar un programa al estado definido anterior, usualmente para recuperarse de una expresión fallida.
- ruta
En Verse, la rutas proporcionan un espacio de nombre global para identificar cosas y se basan en la idea de los dominios web. Estas rutas son persistentes, únicas y descubribles por cualquier programador en Verse.
- ruta de Verse
Consulta ruta.
- rutina
Consulta función.
- secuencia de comandos
Una cantidad autocontenida de código ejecutable de Verse asociado con un objeto.
- semáforo
Un semáforo es como un mutex excepto que, mientras un mutex bloquea el acceso de otros subprocesos al recurso disponible, un semáforo solo indica que el recurso está en uso.
- semántica
El significado de una expresión. Se puede comparar con sintaxis.
- Serialización
El proceso de leer o escribir datos en o desde el archivo de guardado. Una propiedad flexible se crea con el mismo archivo que se lee y tiene una propiedad que la clase/estructura no tiene.
- set (definir)
Una palabra clave que puede usarse para cambiar el valor de una variable mientras el programa se está ejecutando.
La sintaxis para esto es
set name = value. Elconjuntoes la palabra clave, elnombrees el nombre de la variable que se cambiará, y elvalores lo que se debe cambiar.Esto se denomina asignación.
- sin reversión
Este efecto indica que las lecturas y escrituras de datos mutables de una función no pueden deshacerse; es decir, que la función no puede invocarse en un contexto de fallo (que tiene un comportamiento de reversión en caso de fallo).
- sintaxis
Las reglas o gramática del lenguaje de programación
Se puede comparar con semántica.
- sobrecargar
Sobrecargar una función u 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) es bastante claro. Pero podrías usar el operador igual para decir que el vector 3D es igual a un único número, como 1. En tal caso, tal vez el vector 3D se defina como (1,1,1), pero la parte de sobrecarga es que hay múltiples operadores "Vector 3D =" con distintos parámetros. El lenguaje deberá ver el contexto para saber cuál usar.
- sondeo
El término sondeo se refiere a muestrear activamente el estado de un dispositivo externo mediante un programa cliente como una actividad síncrona. Sondeo se usa más frecuentemente en términos de entrada/salida (I/O) y también se denomina I/O sondeada o I/O activada por software.
- splat
Cuando una tupla se usa como un elemento único a una función, será como si se llamara a la función separadamente con cada uno de los elementos de la tupla. Esto se denomina expansión de tupla o splatting.
- STM
La memoria transaccional de software (del acrónimo en inglés de Software Transactional Memory) es un mecanismo de control de concurrencia análogo a negociaciones de bases de datos para controlar el acceso a la memoria compartida en la programación concurrente. Eventualmente, Verse implementará STM porque desbloquea ganancias de rendimiento para grandes simulaciones distribuidas, entre otros motivos.
- subexpresión
Una expresión anidada dentro de un bloque de código.
- submódulo
Un módulo de Verse dentro de otro módulo de Verse. Puedes imaginarlos como carpetas y subcarpetas; cada submódulo añade otro /NameOfModule a la ruta a medida que se profundiza.
- subproceso
La unidad de procesamiento más pequeña que puede realizarse en un sistema operativo.
- subrutina
Un conjunto de instrucciones dentro de un programa de computación diseñado para realizar operaciones que se usan frecuentemente. Las subrutinas son similares a las funciones, excepto que una función realiza algunos cálculos y devuelve el resultado a la persona que llama. Las subrutinas realizan su trabajo sin informar al programa que las llama.
- subtipo
Un tipo que admite todas las operaciones de su supertipo. La
palabra clavesubtype se puede utilizar con paréntesis para especificar que un tipo está restringido a un tipo determinado. Por ejemplo, varios métodos de matriz de Verse utilizansubtypepara 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 heredera. Se dice que tales clases son una subclase de la superclase.
- supertipo
Un supertipo es un tipo que tiene, al menos, un subtipo. Cualquier operación que admita el supertipo también debe admitirla cualquier subtipo. En Verse,
anyes el único supertipo; el resto de los tipos son subtipos deany. El tipocomparablees un supertipo de todos los tipos que son comparables en Verse, comointyfloat.- suscitar
Cuando una función emite una señal, genera un evento. Se notifica a las partes que se produjo un evento, como la interacción con un botón, y se llama a todos los controladores de eventos.
- suscribir
La suscripción es una forma de especificar la función que deseas llamar cuando se genera un evento. Esto se denomina vinculación a un evento. La función vinculada se denomina controlador.
- suspends
Un efecto que detiene temporariamente (suspende) una función sin cancelarla. Una
expresiónsuspends permite la suspensión de funciones asíncronas y transfiere cooperativamente el control a otras expresiones concurrentes antes de completarse.Para obtener más información, consulta Concurrencia.
- tablero de juego
La superficie en la que se juega un juego. Tradicionalmente, el término tablero de juego se aplicó a los juegos de mesa. Sin embargo, cada vez es más común utilizarlo para describir niveles de un videojuego. En el desarrollo de videojuegos, los niveles de tableros de juego pueden dividirse en diferentes áreas o zonas, con diferentes formas, disposiciones o terrenos. Al igual que en los tableros de juegos de mesa, los jugadores pueden mover a los personajes u objetos por el tablero (nivel) para avanzar en el juego.
- tener éxito
Cuando una expresión se completa sin errores, su ejecución es correcta. Se puede comparar con contexto de fallo.
- tic
Consulta la actualización de simulación que se usa de manera similar con tic y, en ocasiones, con fotogramas.
- tiempo de compilación
Cuando el código fuente se convierte en instrucciones de máquina. Compáralo con runtime.
- tiempo de ejecución
Se refiere al tiempo de ejecución del juego, de la simulación o de la aplicación. Compáralo con el tiempo de compilación, que indica el tiempo que tomó compilar, o con el tiempo de desarrollo, que indica el tiempo que tomó desarrollar, compilar y depurar.
Es común diferenciar entre eventos que ocurren en tiempo de ejecución y aquellos que se producen en tiempo de compilación.
- tiempo de invocación
El tiempo que tarda una expresión en evaluarse. Una invocación inmediata no toma, efectivamente, tiempo. Una expresión asíncrona puede completarse inmediatamente o puede estar latente.
- tipado dinámico
En un lenguaje de programación de tipado dinámico, las variables y expresiones no tienen tipos asignados. Esto significa que no puede verificarse hasta la ejecución. Compáralo con tipado fuerte.
- tipado fuerte
Un lenguaje de programación es de tipado fuerte cuando se asigna un tipo a cada identificador. Cuando no se proporciona explícitamente un tipo, este se infiere. Esto significa que el lenguaje no producirá resultados impredecibles durante la ejecución porque se conoce el tipo de dichos identificadores y la manera en la que las operaciones afectan dichos tipos. Consulta también comprobación estática.
- tipo
Los tipos definen cuáles operaciones se pueden realizar en datos y cómo dichos datos, o valores, se almacenan para dicho tipo. Existen tipos comunes, como entero y cadena, tipos compuestos y tipos personalizados. Consulta también tipo primitivo y tipo de contenedor. La
palabra clavetype puede utilizarse con llaves para definir un tipo esperado. Las declaraciones de funciones y los rangos numéricos se admiten en la actualidad como declaraciones. 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 u otros tipos compuestos. Por lo general, tiene un número fijo de campos o elementos en su duración. Verse usa actualmente los siguientes campos compuestos: estructura, clase, enumeración, interfaz y módulo.
- tipo común
Los tipos comunes son tipos que están integrados y se usan frecuentemente. Los tipos comunes incluyen
any,comparable,float,int,logic,rationalystring.- tipo de contenedor
Puedes almacenar múltiples valores juntos mediante un tipo de contenedor como matriz, mapa, tupla y opción.
- tipo de datos
Consulta tipo.
- tipo integrado
Un tipo integrado no puede desglosarse 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 compuesto y no puede descomponerse más. Entre los ejemplos de tipos primitivos integrados se incluyen
void,logic,int,float,rationalychar. Los primitivos están integrados en el lenguaje Verse.Se puede comparar con tipo de contenedor.
- transacts
Cuando una función tiene el
efectotransacts, significa que la función puede leer y escribir datos, pero dichas acciones pueden revertirse si la función también tiene un efecto decides. Este efecto es un efecto exclusivo.Una función sin un efecto exclusivo especificado puede leer y escribir datos, pero no puede revertirse.
- Unicode
Una norma de codificación de caracteres desarrollada por Unicode Consortium para proporcionar compatibilidad comparable de los caracteres entre 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 usa 8 bits como unidad de código.
- unique
El especificador unique se puede aplicar 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 la igualdad de las instancias de clases únicas mediante la comparación de sus identidades. Las clases sin el identificador unique no tienen dicha identidad y su igualdad solo pueden compararse con base en los valores de sus campos. Esto significa que las clases únicas pueden compararse con los operadores = y <> y son subtipos del tipo comparable.
- unset
No se asigna ningún valor. Se puede comparar con establecer.
- UTF-8
El esquema de codificación de caracteres de Unicode, una norma desarrollada por Unicode Consortium para ofrecer compatibilidad comparable de caracteres entre idiomas, plataformas y dispositivos.
Los emojis tienen apariencia de imagen o ícono, pero no lo son. Son letras (caracteres) del conjunto de caracteres UTF-8 (Unicode).
UTF-8 abarca casi todos los caracteres y símbolos del mundo.
- valor
Un valor es la información que utiliza el programa para operar. Los números o texto son ejemplos de valores.
- variable (código)
Un valor que puede cambiarse mientras el programa se está ejecutando. Se denomina variable porque puede cambiar.
A veces, el término "variable" indica colectivamente variables y constantes pero, a pesar de que las variables y las constantes son similares, tienen una diferencia importante: el valor de una constante no se puede cambiar mientras se está ejecutando un programa.
La sintaxis básica de una constante es
var name : type = value.Vares una palabra clave que dice que esta es una variable;namees un nombre que asignas a la variable (denominado identificador). El:dice que lo siguiente es un tipo. El=dice que lo siguiente es un valor y, a continuación, el valor mismo. Por ejemplo:VersePlayerSpeed : float = 2.0Esto indica que PlayerSpeed tiene un valor de 2.0, representado por 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 dicho valor. Una variable no necesita tener un valor asignado cuando se la inicializa, pero hacerlo es una buena práctica.
La diferencia entre variables y constantes es que puedes cambiar el valor de una variable en cualquier momento. Esto se hace con una expresión de asignación.
Se puede comparar con constante. Consulta también establecer.
- variable de puntero
Una variable de puntero señala a una ubicación de memoria donde se almacenó un valor. Después de crear una variable de puntero, no puedes cambiar la ubicación de memoria de la variable pero puedes cambiar el valor almacenado en dicha ubicación de memoria.
- variable self
Selfes un identificador especial en Verse que puede usarse en un método de clase para referirse a la instancia de la clase a la que se llamó el método. Puedes hacer referencia a otros campos de la instancia a la que se llamó el método sin usarSelf, pero si necesitas hacer referencia a la instancia en su totalidad, debes usarSelf.- varies (varía)
Este efecto indica que la misma entrada a la función puede no siempre producir la misma salida. El efecto
variestambién indica que no se garantiza que el comportamiento de la función permanezca igual con nuevas versiones de su paquete contenedor.- verificador de tipo
La verificación de tipo se utiliza para comprobar un programa antes de la ejecución. Verifica los valores y la sintaxis de los tipos de datos. La finalidad principal de un sistema de tipos en un lenguaje de programación es reducir la probabilidad de errores en los programas de computación debidos a errores de tipo.
- Verse
Verse es un lenguaje de programación verificado 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 le realizó una vinculación. Todas las variables de Verse variables se vinculan de inmediato después de que se definen; no pueden estar sin vincular.
- vincular
En programación informática, vincular es crear una conexión entre dos o más objetos de programación durante un período de tiempo específico.
Para Fortnite, vincular es asociar una función con un evento.
Para Verse, vincular es crear una conexión entre dos o más objetos de programación durante un tiempo específico. Por ejemplo, si vinculas una función al
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 referirse a la asociación de una variable con un valor o objeto, o a la asociación de un controlador con un evento.- Visual Studio Code
Visual Studio Code, también denominado VS Code, es un editor de código fuente de Microsoft para Windows, Linux y macOS.
- VPL
Consulta lenguaje de programación visual.
- ámbito
El ámbito hace referencia a la parte del programa donde la asociación de un nombre a un valor es válida y donde ese nombre puede utilizarse para referirse al valor. Por ejemplo, cualquier constante o variable que crees dentro de una función solo existirá en el contexto de la función. Esto significa que la vida útil de los objetos está limitada al ámbito donde se crean y no pueden usarse fuera de dicho bloque de código.
- índice
Un índice representa las posiciones de elementos en una secuencia mediante representaciones numéricas. Una secuencia puede ser una lista, una cadena de caracteres o cualquier secuencia arbitraria de valores.
Las indexaciones utilizan la numeración basada en cero. Esto significa que la primera posición de la indexación es 0, y la quinta posición sería el 4.