Bonour,
Est-ce que quelqu'un pourrait m'expliquer ce que fait letrec ainsi que aux car je ne comprend pas ?
Merci pour votre aide
Version imprimable
Bonour,
Est-ce que quelqu'un pourrait m'expliquer ce que fait letrec ainsi que aux car je ne comprend pas ?
Merci pour votre aide
Ça permet de définir des fonctions locales récursives. Sans letrec:
Avec letrec:Code:
1
2
3
4
5
6
7
8 (let ((local-fib (lambda (x) (if (< x 2) x (+ (local-fib (- x 1)) (local-fib (- x 2))))))) (local-fib 10)) . reference to undefined identifier: local-fib
Edit: /me siffle comme un épaisCode:
1
2
3
4
5
6
7
8 (letrec ((local-fib (lambda (x) (if (< x 2) x (+ (local-fib (- x 1)) (local-fib (- x 2))))))) (local-fib 10)) 55
Effectivement, ça change tout :aie:
LOL effectivement... GnuVince tu devrais mieux regarder ce que tu as écris ;) Je ne suis pas sûr que ça aidera pf2007. Surtout que tu ne lui réponds pas directement.
pf2007, aux est le nom d'une fonction non ? C'est probablement juste le nom de la fonction définition localement.
Comme l'a dit GnuVince, letrec sert à créer une liaison, comme le fait let, mais en autorisant les appels récursifs.