Donc, je pratiquais la langue de débutant raquette quand je suis arrivé à cette question. Ecrivez une fonction str-replace
qui consomme une chaîne, un caractère cible et un caractère de remplacement . La fonction produit une nouvelle chaîne, identique à la chaîne consommée, toutes les occurrences du caractère cible (le cas échéant) étant remplacées par le caractère de remplacement. Par exemple, (string-replace "word" #\o #\y) ⇒ "wyrd"
.Dans une raquette, comment remplacer un mot dans une chaîne à l'aide de la fonction string-> list ou list-> string uniquement?
Note: Je ne peux utiliser aucune fonction de chaîne intégrée autre que string->list
et list->string
.
Alors j'ai commencé avec le code maintenant je suis coincé, comment puis-je utiliser la fonction enveloppe pour ce code jusqu'à maintenant, je n'ai que cette
;; los is list of string
(define(str-replace los)
(+(first los)
(first (rest los))
(first (rest (rest los)))
(first (rest (rest (rest los))))))
Remplissez les espaces avec quoi? Je suis confus .... Aussi comment cela fonctionnera-t-il pour le remplacement de la chaîne, pouvez-vous élaborer s'il vous plaît? – Asha
@Kiterunner (1) J'ai renommé la seconde fonction en tant que 'str-replace'. (2) Je ne vous ai pas donné une solution complète, vous devez penser à ce qui se passe dans '...'. Que devrait retourner la première fonction au cas où on lui donnerait une liste vide? que devrait-on faire pour chaque personnage de la liste? Toutes les informations dont vous avez besoin vous attendent quelque part. Voir par exemple https://docs.racket-lang.org/ et https://mitpress.mit.edu/sicp/full-text/book/book.html. – coredump