help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Defining an array in a let clause.


From: Eduardo Ochs
Subject: Re: Defining an array in a let clause.
Date: Mon, 5 Dec 2022 15:12:15 -0300

On Mon, 5 Dec 2022 at 11:44, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Date: Mon, 05 Dec 2022 13:56:53 +0000
> > From: Heime <heimeborgia@protonmail.com>
> > Cc: help-gnu-emacs@gnu.org
> >
> > ------- Original Message -------
> > On Monday, December 5th, 2022 at 12:54 PM, Eli Zaretskii <eliz@gnu.org> 
> > wrote:
> >
> >
> > > > Date: Mon, 05 Dec 2022 11:40:44 +0000
> > > > From: Heime heimeborgia@protonmail.com
> > > >
> > > > How can I set up an array of five elements in a let clause.
> > > >
> > > > (let ( (ss (nth 0 (decode-time))) ; seconds
> > > > (mm (nth 1 (decode-time))) ; minutes
> > > > (hh (nth 2 (decode-time))) ; hours
> > > > (us (nth 2 (current-time))) ; microsecond
> > > > (ps (nth 3 (current-time))) ; picosecond
> > > > (lc (make-array '(5))) )
> > >
> > >
> > > There are no arrays in Emacs. Do you mean vector? if so use the function
> > > 'vector' to construct a vector. If, OTOH, you want a list, use the 
> > > function
> > > 'list' instead.
> >
> > Correct, a vector with five elements.
>
> Then the function 'vector' is what you need to use here.

Try this:

  (cl-destructuring-bind (ss mm hh &rest rest) (decode-time)
    (cl-destructuring-bind (_ _ us ps &rest rest) (current-time)
      (vector ss mm hh us ps)))

I don't know cl-lib well... I guess that there are better ways to
do that, and I hope that other people would come up and show
what are these better ways... =)
  Cheers,
    Edrx
    http://angg.twu.net/eepitch.html



reply via email to

[Prev in Thread] Current Thread [Next in Thread]