Groups | Search | Server Info | Login | Register
Groups > pt.comp.programacao > #270
| Path | csiph.com!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Patricia Ferreira <pferreira@example.com> |
| Newsgroups | pt.comp.programacao |
| Subject | Re: sobre loops em common lisp |
| Date | Tue, 05 Mar 2024 20:05:22 -0300 |
| Organization | A noiseless patient Spider |
| Lines | 48 |
| Message-ID | <87jzmgqnyl.fsf@example.com> (permalink) |
| References | <87edcxza4m.fsf@example.com> <87le74la4b.fsf@lispclub.com> <87ttlst7px.fsf@example.com> <878r2wsa0o.fsf@example.com> <87v860qomo.fsf@example.com> |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 8bit |
| Injection-Info | dont-email.me; posting-host="ab31dfe5a2356a88a3b13dd70f99699e"; logging-data="18695"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19OZDgMNw2JJY+YB9caLpKU03sBlfbWe/A=" |
| Cancel-Lock | sha1:kGWbXHOymICXHAgKjTcLTjHTd2A= sha1:lv2FdInpXW9+5HwH5bPYRYH3BYM= |
| Xref | csiph.com pt.comp.programacao:270 |
Show key headers only | View raw
Patricia Ferreira <pferreira@example.com> writes:
[...]
> Eis meu segundo. Gere um nome (de arquivo) aleatório e tente usá-lo.
> Se calhar de alguém já tê-lo escolhido, tente de novo (com outro nome).
> Feito isso, retorne-nos esse nome sortudo e pra que a gente possa
> renomeá-lo pro seu nome final---accounts.lisp.
>
> (defun write-accounts ()
> (let ((name
> (loop
> (let* ((tmp (random-string 10))
> (name (format nil "~a.tmp" tmp)))
> (when
> (ignore-errors
> (with-open-file
> (s name
> :direction :output
> :if-exists :error
> :if-does-not-exist :create)
> (write *accounts* :stream s)))
> (return name))))))
> (rename-file name "accounts.lisp")
> *accounts*))
>
> Tecnicamente temos um problema com esse procedimento. Se o rename-file
> não obtiver sucesso, nem vamos saber.
Não sei o que fazer se o rename não ocorrer, mas ficamos a versão final:
(defun write-accounts ()
(let ((name
(loop
(let* ((tmp (random-string 10))
(name (format nil "~a.tmp" tmp)))
(when
(ignore-errors
(with-open-file
(s name
:direction :output
:if-exists :error
:if-does-not-exist :create)
(write *accounts* :stream s)))
(return name))))))
(if (ignore-errors (rename-file name "accounts.lisp"))
*accounts*
(format t "could not rename ~a to account.lisp" name))))
Back to pt.comp.programacao | Previous | Next — Previous in thread | Next in thread | Find similar
sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-02-27 21:48 -0300
Re: sobre loops em common lisp Daniel Cerqueira <dan.list@lispclub.com> - 2024-02-28 18:25 +0000
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-02-28 21:49 -0300
Re: sobre loops em common lisp Daniel Cerqueira <dan.list@lispclub.com> - 2024-02-29 10:15 +0000
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-03 22:49 -0300
Re: sobre loops em common lisp Daniel Cerqueira <dan.list@lispclub.com> - 2024-03-04 07:55 +0000
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-04 14:37 -0300
Re: sobre loops em common lisp Daniel Cerqueira <dan.list@lispclub.com> - 2024-03-04 19:49 +0000
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-04 21:46 -0300
Re: sobre loops em common lisp Daniel Cerqueira <dan.list@lispclub.com> - 2024-03-05 09:03 +0000
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-05 17:21 -0300
Re: sobre loops em common lisp Daniel Cerqueira <dan.list@lispclub.com> - 2024-03-06 08:56 +0000
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-08 17:16 -0300
Re: sobre loops em common lisp Daniel Cerqueira <dan.list@lispclub.com> - 2024-03-08 21:11 +0000
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-08 18:38 -0300
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-05 17:23 -0300
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-05 19:50 -0300
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-05 20:05 -0300
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-05 20:07 -0300
Re: sobre loops em common lisp Patricia Ferreira <pferreira@example.com> - 2024-03-08 17:12 -0300
csiph-web