Cette situation est fictive. Ne suggérez pas de méthode alternative telle que décrite dans l'histoire, mais proposez uniquement une solution à la question centrale ci-dessous.
Histoire
Je crée un chatbot en utilisant des commandes dans Minecraft. Une grille de boutons représentant des lettres et des chiffres se trouve sur un mur. Le joueur peut appuyer sur ces boutons pour "taper" des lettres dans sa requête au chatbot. Chaque lettre est tapée en ajoutant une chaîne de caractères avec cette lettre à la fin d'un tableau NBT. Par exemple, lorsque le bouton 'L' est pressé, la commande suivante est exécutée :
data modify storage chatbot:main CurrentEntry append value "L"
Par exemple, un tableau de requête complété pour la requête "La vie est un bol de cerises" pourrait ressembler à ceci :
{CurrentEntry:["L","i","f","e"," ","i","s"," ","a"," ","b","o","w","l"," ","o","f"," ","c","h","e","r","r","i","e","s"]}
Une fois que l'utilisateur a fini de saisir une question dans la machine, il appuie sur le bouton Soumettre, ce qui lance le processus d'analyse et permet au chatbot de donner une réponse.
Problema
J'en suis à la phase de développement des easter eggs, où une phrase spécifique peut être tapée dans le chatbot pour produire une réponse unique. Pour ce faire, je vais devoir concaténer chaque valeur du tableau de requête afin de produire une seule chaîne avec la requête complète, puis la comparer avec une chaîne modèle pour voir si elle correspond à une phrase d'easter egg.
La concaténation de chaînes de caractères dans Minecraft sera probablement un peu compliquée. L'approche que j'ai choisie est de concaténer les deux premières chaînes, puis de concaténer le résultat avec la chaîne suivante, et ainsi de suite jusqu'à ce que j'obtienne une chaîne finale contenant l'intégralité de la requête.
Question centrale
Comment concaténer deux ou plusieurs chaînes de caractères à partir de données NBT ?
Étant donné deux chaînes de caractères dans NBT :
{String1:"Life is a ",String2:"bowl of cherries"}
pouvez-vous les concaténer pour produire :
{ResultString:"Life is a bowl of cherries"}
Procès antérieurs
- J'ai eu l'idée d'utiliser
/data modify
pour ajouter des éléments à des chaînes de caractères, mais il ne permet que d'ajouter des éléments à des listes, et non à des chaînes de caractères.