[résolu] Common lisp : signification char/string
Discutez d'informatique ici !
-
lulubibi28
- Membre Relatif
- Messages: 240
- Enregistré le: 10 Nov 2013, 12:18
-
par lulubibi28 » 16 Sep 2014, 14:15
Bonjour,
Comment fait t-on pour comparer un caractère (char (string (car liste)) 0) avec une liste formée bien entendu d'atomes( qui sont des mots en fait ) qui sont deux types d'objets différents ?
La seule manière serait de comparer deux caractères pour après former une nouvelle liste d'atomes .
Je découvre pour la première ces deux types d'objets qui sont char et string .
Un objet string est un symbole et char est un caractère .
PS : je le dis juste comme çà pour prévenir déventuelles personnes malveillantes , ce n'est pas en ridiculisant une personne qu'on lui apprend le savoir .Y'a certains qui font çà dans d'autres forums et c'est pas trés cool pour une personne en pleine phase d'apprentissage :triste: :fuck: ...
Je suis débutante en lisp , et je viens de commencer la fameuse récursivité :bad2: .
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 08:03
-
par ampholyte » 16 Sep 2014, 15:25
Bonjour,
J'avoue avoir un peu de mal avec le concept que tu essayes d'expliquer.
Aurais-tu un exemple ou un bout de code (avec les variables déclarées ?) cela serait sûrement plus compréhensible pour ma part (je ne connais pas Lisp mais c'est très souvent la même chose dans d'autres langages) (Kurodiam ;p)
-
lulubibi28
- Membre Relatif
- Messages: 240
- Enregistré le: 10 Nov 2013, 12:18
-
par lulubibi28 » 16 Sep 2014, 16:19
Un objet string est un symbole et c une fonction qui ne prend qu'un seul argument et char est un caractère , et c une fonction qui prend deux arguments .
Mon objectif est de comparer déjà si 2 chaines de caractères commencent par un même caractère et une fois çà , je dois créer une nouvelle liste incluant des mots en fonction de ce prédicat .
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 08:03
-
par ampholyte » 16 Sep 2014, 17:50
D'accord il te suffit alors de tester si le premier caractère de chaque chaine est identique.
Un peu comme en C, tu dois pouvoir faire l'équivalent de :
- Code: Tout sélectionner
if (string[0] == string2[0]) {
/* la suite du code */
}
Non ?
-
lulubibi28
- Membre Relatif
- Messages: 240
- Enregistré le: 10 Nov 2013, 12:18
-
par lulubibi28 » 16 Sep 2014, 21:07
Oui , c'est dans l'esprit de ce que je voulais faire ...
Entretemps , j'ai réussi à coder ma fonction , il y'a une astuce en transformant une valeur en un caractère puis ensuite en chaine de caractères ==> (char (string x) 0) et bien entendu , j'ai crée un prédicat avec equal .
Donc le sujet est résolu :we:
-
joel76
- Membre Relatif
- Messages: 230
- Enregistré le: 11 Fév 2013, 16:31
-
par joel76 » 16 Sep 2014, 22:01
Tu pourrais donner un exemple de ce que tu voulais faire et le code obtenu ?
-
lulubibi28
- Membre Relatif
- Messages: 240
- Enregistré le: 10 Nov 2013, 12:18
-
par lulubibi28 » 17 Sep 2014, 14:51
Peut être par MP si tu veux :zen:
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 6 invités