Bonsoir,

Je bloque pour écrire une fonction qui repère combien de fois une chaîne est inclue dans une autre.

(string-contain 'ark' 'abbbe) => 0
(stringcontain 'ark' 'ddarkdark) => 2

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
(defun string-contain (string1 string2)
  (cond
   ((not (length string1)) nil) ; string1 est vide (pas besoin de le tester à chaque fois)
   ((> (length string1) (length string2)) nil) ; string1 est plus longue que chaine2
   ((string= string1 (subseq string2 0 (length string1))) string1) 
   (t (+ 1(string-contain string1 (subseq string2 1))))))
Mais le code ne marche pas :s

Code : Sélectionner tout - Visualiser dans une fenêtre à part
*** - +: "ark" is not a number

Merci