[define [fatorial n]
[if [< n 2]
1
[* n [fatorial [- n 1]]]]]
[display [fatorial 5]]
[newline]
Exemplos com algumas implementações:
Chicken:
$ csi -s fatorial.scm
120
Gambit:
$ gsi fatorial.scm
120
PLT:
$ mzscheme -f fatorial.scm
120
Ypsilon:
$ ypsilon fatorial.scm
120
Embora
[
e ]
sejam caracteres reservados em R5RS, muitas implementações os utilizam como sinônimos para parênteses. É comum a prática de uso de colchetes para associações entre variáveis e valores em formas let
. Exemplo:(let ([a 3]
[b 4]
[c 5])
(+ a b c))
Eu, particularmente, não costumo usar colchetes como sinônimo de parênteses, mas já vi muito código que usa.
Nenhum comentário:
Postar um comentário