Ces pages décrivent le langage de programmation Verse et sa syntaxe. Prenez le temps de vous familiariser avec ce langage, puis servez-vous de ces pages comme référence.
Si vous utilisez Verse ou apprenez la programmation pour la première fois, n'oubliez pas de consulter la rubrique Programmation avec Verse pour vous aider à démarrer. Vous trouverez également un guide d'initiation utile.
Qu'est-ce que Verse ?
Verse est un langage de programmation développé par Epic Games que vous pouvez utiliser pour créer votre propre gameplay dans l'Unreal Editor pour Fortnite, notamment en personnalisant vos appareils pour le mode Créatif de Fortnite.
Principaux objectifs de conception de Verse :
Se montrer assez simple pour qu'un programmeur débutant puisse l'apprendre facilement.
Se montrer assez général pour permettre l'écriture de tout type de code et de données.
Se montrer productif dans le contexte de la construction, de l'itération et de la livraison d'un projet dans le cadre d'une équipe, et de l'intégration de code et de contenu.
Permettre la vérification statique pour détecter autant de catégories de problèmes d'exécution que possible au moment de la compilation.
Se montrer assez performant pour permettre l'écriture de jeux à plusieurs joueurs en temps réel et en monde ouvert.
Se montrer complet, pour que chaque fonctionnalité du langage prenne en charge l'abstraction du programmeur sur cette fonctionnalité.
Se montrer intemporel, c'est-à-dire répondre aux besoins d'aujourd'hui et aux besoins futurs prévisibles, sans être ancré dans les artefacts passés d'autres langages.
Les objectifs de conception ci-dessus ont inspiré les principales caractéristiques du langage de programmation Verse :
Se montrer fortement typé pour minimiser les possibilités d'erreurs non détectées lors du développement ou du déploiement, et pour prendre en charge la vérification statique.
Multiparadigme pour tirer le meilleur de la programmation fonctionnelle, de la programmation orientée objets et de la programmation impérative, de manière à se montrer aussi déterministe. Par exemple, les données sont immuables par défaut, et si l'on utilise le même code et les mêmes données, les résultats seront toujours exactement les mêmes.
Il n'existe pas de différence entre les instructions et les expressions. Dans Verse, tout est une expression, ce qui signifie que tout a un résultat.
Le flux de contrôle est basé sur l'échec. Au lieu d'utiliser des valeurs true/false pour changer le flux de votre programme (comme avec les points de décision), Verse utilise des expressions faillibles qui produisent une valeur si elles réussissent ou ne le font pas si elles échouent. Les expressions faillibles ne peuvent être exécutées que dans des contextes d'échec, comme les expressions if.
La possibilité d'effectuer une exécution spéculative dans des contextes d'échec, ce qui signifie que vous pouvez tester des actions sans les valider. Lorsqu'une expression réussit, les effets de l'expression sont validés, mais si l'expression échoue, les effets de l'expression sont annulés, comme si l'expression n'avait jamais eu lieu. De cette façon, vous pouvez exécuter une série d'actions qui accumulent les changements, mais ces actions seront annulées si un échec se produit dans le contexte d'échec.
**La concurrence au niveau du langage est en place afin que vous n'ayez pas à compter sur des threads au niveau du système sur plusieurs processeurs pour effectuer des actions simultanément. Vous pouvez créer un flux temporel de la même manière qu'un flux de contrôle en utilisant les expressions de concurrence intégrées au langage.
Epic Games continue de développer le langage de programmation Verse et d'y ajouter d'autres fonctionnalités. Pour le code Verse que vous écrivez aujourd'hui, vous pouvez vous attendre à ce que Verse assure une compatibilité descendante et continue à fonctionner avec les futures mises à jour du langage.
Explorer le langage
Utilisez les pages suivantes comme référence pour le langage de programmation Verse.
Mises à jour et abandons de la version 1 du langage Verse
Découvrez les nouvelles mises à jour et les abandons de la version 1 du langage Verse.
Expressions
Tout dans Verse est une expression et a un résultat. Cette page décrit tous les types d'expressions de Verse.
Commentaires
Un commentaire explique quelque chose à propos du code. Lorsque le programme s'exécute, les commentaires sont ignorés.
Constantes et variables
Les variables et les constantes peuvent stocker des informations, ou des valeurs, que votre programme utilise.
Types courants
Les types courants prennent en charge les opérations fondamentales que la plupart des programmes utilisent.
Opérateurs
Les opérateurs sont des fonctions spéciales définies en langage de programmation Verse pour effectuer diverses actions telles que les opérations mathématiques d'addition et de multiplication.
Regroupement
Regroupez vos expressions Verse pour préciser l'ordre d'évaluation et améliorer la lisibilité.
Blocs de code
Un bloc de code est un groupe d'expressions qui introduit une nouvelle étendue pour les variables et les constantes.
Fonctions
Une fonction est un code réutilisable qui exécute une action et produit différents résultats en fonction des entrées que vous fournissez.
L'échec
L'échec est un moyen de contrôler la séquence, appelée flux de contrôle, selon laquelle un programme effectue des actions.
Spécificateurs et attributs
En savoir plus sur les spécificateurs et les attributs, et comment appliquer une sémantique et un comportement supplémentaires à votre code Verse.
Flux de contrôle
Le flux de contrôle est l'ordre dans lequel un ordinateur exécute les instructions. Verse dispose d'un certain nombre de moyens pour modifier le flux de contrôle de votre programme.
Flux temporel et concurrence
Autorisez le flux temporel de la même manière que le flux de contrôle en exécutant des expressions simultanément à l'aide d'expressions de concurrence intégrées dans Verse.
Types de conteneurs
Stockez plusieurs valeurs ensemble en utilisant un type de conteneur.
Types composites
Créez votre propre type unique à partir d'un type composite.
Utiliser les types Verse
Apprenez à tirer le meilleur parti des types dans Verse.
Modules et chemins
Un module Verse est une unité atomique de code qui peut être redistribuée et qui peut créer une dépendance. Vous pouvez l'importer dans votre fichier Verse pour utiliser les définitions de code d'autres fichiers Verse.