est ce que quelqu'un peut m'expliquer à quoi sert la fonction let et comment on l'utilise?
est ce que quelqu'un peut m'expliquer à quoi sert la fonction let et comment on l'utilise?
Il n'y a pas de fonction « let » à proprement parler.
Le « let » est une forme spéciale (c'est–à-dire que l'évaluation en ordre applicatif) qui permet de lier une valeur à une variable (liaison lexicale).
Ça correspond au « soit » que tu utilises en math, comme dans « soit x la plus grande valeur de l'intervalle [1,10] dans l'expression f(x)» par exemple. Ceci s'écrirait par exemple
On a équivalence entre les deux expressions suivantes
Code : Sélectionner tout - Visualiser dans une fenêtre à part (let ([x (obtenir-plus-grande-valeur (creer-intervalle 1 10))]) (f x))
C'est donc une déclaration de valeur locale, si tu veux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 (let ((x valeur)) expression) ( (lambda (x) expression) valeur )
Si ce que je te dis ne te parle pas du tout, alors tu devrais aller voir ton prof avant C'est que soit tu veux aller trop vite, soit tu n'as pas bien écouté en classe. Et j'avoue que je parie un peu sur le second.
Cependant, voici un peu de doc :
http://download.plt-scheme.org/doc/4...me..ss)._let))
C'est la doc que tu obtiendrais en utilisant l'excellente aide de Dr Scheme.
Merci. Maintenant, je sais ce qu'est la fonction let, mais cette information ne résout pas mon problème, et non ce n'est pas une faute d'inattention ; on n'a pas abordé le sujet en classe.
C'est dans un devoir à rendre. On devait d'abord définir une fonction qui transforme un nombre « normal » dans la structure de donnée voulue. exemple :
Code Scheme : Sélectionner tout - Visualiser dans une fenêtre à part (convert_ecriture 1515) => (10 ( 1 5 1 5))
puis une fonction qui, lorsque que l'on rentre le précédent résultat, la fonction nous ressort "l'entrée".
Une fonction qui transforme un nombre de base 10 à base b <10.
puis de base b <10 à base 10.
et ensuite le prof nous demande :
Écrire la version améliorée conv10tob_gene de conv10tob qui fonctionne jusque b = 16 puis écrire la version améliorée convbto10_gene de convbto10 qui fonctionne jusque b = 16.
et il rajoute plus bas :
Pour les fonctions conv10tob_gene et convbto10_gene, définir localement une A-liste permetant de faire les conversions A ⇔ 10 B ⇔ 11 etc jusque F ⇔ 15 par :
Code Scheme : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 (let ((alphabet_10tob ‘((10 A) (11 B)(12 C)(13 D) (14 E) (15 F))) ….) et (let ((alphabet_bto10 ‘((A 10 A)(B 11)(C 12)(D 13) (E 14)(F 15))) ….)
Exemple d’utilisation de la fonction let et d’une A-liste :
Code Scheme : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 (define (associe nb) (let ((alphabet_10tob '((10 A) (11 B)(12 C)(13 D) (14 E) (15 F)))) (cadr (assoc nb alphabet_10tob))))
Sans me donner la solution, peux-tu me donner une explication pour m'aider à comprendre ?
Humm !
Pour faciliter la lecture, il faut utiliser le tag code comme indiquer dans les règles du forum. http://club.developpez.com/regles/#L3.5
Et là, je suis très fatigué -_- Je te promet de regarder ça demain. Mais j'ai pas le courage de faire la mise en forme et l'indentation ce soir.
c'est bn aucun soucis j'ai fini par trouver en tatonnant. merci beaucoup
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager