Valors de retorn

Els procediments de l’Scheme sempre retornen un valor de retorn, que és el valor de l’última expressió executada al procedimentt. El valor de retorn pot ser qualsevol valor de l’Scheme vàlid, fins i tot una estructura de dades complexa o un procediment.

A vegades, l’usuari vol tenir diverses expressions de l’Scheme dins d’un procediment. Hi ha dues formes en la qual es poden combinar diferents expressions. La primera és el procediment begin, que permet avaluar diverses expressions, i retorna el valor de l’última expressió.

guile> (begin (+ 1 2) (- 5 8) (* 2 2))
4

La segona forma de combinar diverses expressions és dins d’un bloc let. Dins d’un bloc let, es creen una sèrie de lligadures o assignacions, i després s’avalua una seqüència d’expressions que poden incloure aquestes lligadures o assignacions. El valor de retorn del bloc let és el valor de retorn de l’última sentència del bloc let:

guile> (let ((x 2) (y 3) (z 4)) (display (+ x y)) (display (- z 4))
… (+ (* x y) (/ z x)))
508

Extender LilyPond v2.25.28 (development-branch).