PasteRack.org
Paste # 12732
2023-11-01 13:23:57

Fork as a new paste.

Paste viewed 1121 times.


Embed:

Code snippet

  1. #lang racket
  2.  
  3. (define vowels '(#\a #\e #\i #\o #\u #\y))
  4.  
  5. (define lword '(#\b #\o #\n #\j #\o #\u #\r))
  6.  
  7. (define (replace-first-vowel list)
  8.     (cond
  9.     ((null? list) '())
  10.     ((member (car list) vowels) (cons (car vowels) (cdr list)))
  11.     (else (cons (car list) (replace-first-vowel (cdr list))))))
  12.  
  13. (list->string (replace-first-vowel lword)) ; "banjour"
  14.  
  15. ; Expected output
  16. ; "banjour" "benjour" "binjour" "bonjour" "bunjour" "bynjour"

=>

"banjour"