Disons que nous avons un ensemble particulier de fonctions sur les chaînes. Ces fonctions sont un peu comme remplir les blancs ou les madlibs, sauf qu'ils ne prennent qu'une seule entrée et l'utilisent pour remplir tous leurs blancs. Par exemple, nous pourrions avoir une fonction qui ressemble à
I went to the ____ store and bought ____ today.
Si nous appliquions cette fonction à la chaîne, cheese
le résultat serait:
I went to the cheese store and bought cheese today.
Nous pouvons représenter ces fonctions comme une liste de chaînes non vide, où les blancs sont simplement les espaces entre les chaînes. Par exemple, notre fonction ci-dessus serait:
["I went to the ", " store and bought ", " today."]
Avec cette représentation, il n'y a qu'une seule représentation pour chaque fonction de ce type et une seule fonction pour chaque représentation.
Une chose vraiment intéressante est que l'ensemble de ces fonctions est fermé sous la composition. C'est-à-dire que la composition de deux de nos fonctions est toujours une autre de ces fonctions. Par exemple, si je compose notre fonction ci-dessus avec
["blue ", ""]
(la fonction qui précède blue
l'entrée) On obtient la fonction:
["I went to the blue ", " store and bought blue ", " today."]
Celles-ci peuvent cependant devenir un peu plus complexes. Par exemple, si nous composons la première fonction avec
["big ", " and ", ""]
Le résultat est
["I went to the big ", " and ", " store and bought big ", "and", " today."]
Tâche
Votre tâche consiste à prendre deux fonctions décrites comme des listes de chaînes non vides et à afficher leur composition sous forme de liste de chaînes non vide.
Aux fins de ce défi, une liste peut être n'importe quel conteneur ordonné qui autorise les doublons et une chaîne peut être un type de chaîne natif, une liste de caractères ou une liste d'entiers.
Il s'agit de réponses au code-golf qui seront notées en octets, moins d'octets étant meilleurs.
Cas de test
["","xy"] ["ab",""] -> ["ab","xy"]
["x","y","z"] ["a","b"] -> ["xa","bya","bz"]
["xy"] ["ab"] -> ["xy"]
["","",""] ["a",""] -> ["a","a",""]
["x",""] ["","",""] -> ["x","",""]
["x","y","z"] ["a","b","c"] -> ["xa","b","cya","b","cz"]
["x","x","x"] ["a"] -> ["xaxax"]
["w","x","y","z"] ["ab","cd","e"] -> ["wab","cd","exab","cd","eyab","cd","ez"]