segunda-feira, 8 de fevereiro de 2010

Cálculo de fatorial através de redirecionamentos de páginas

Abaixo está uma aplicação absurdamente inútil e sem sentido usando awful: cálculo de fatorial através de redirecionamentos de páginas.

Para calcular o fatorial de 5, por exemplo, basta executar o servidor com a aplicação:

$ awful awful-fatorial.scm

e acessar http://localhost:8080/?n=5 (a entrada de dados é feita através da variável n).

O código está a seguir:

(use awful html-tags html-utils)

(root-path ".")

(define-page (main-page-path)
(lambda ()
(let* ((n ($ 'n 0 string->number))
(current ($ 'current n string->number))
(accum ($ 'accum 1 string->number))
(finished? (< current 2)))
(html-page
(if finished?
(<h1> n "! = " accum)
"")
headers: (if finished?
""
(<meta> http-equiv: "refresh"
content: (conc "0;url=?n=" n
"&accum=" (* current accum)
"&current=" (sub1 current)))))))
no-template: #t)

Nenhum comentário: