emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Axel Kielhorn <org-mode@axelkielhorn.de>
To: Org-Mode Mailing List <emacs-orgmode@gnu.org>
Subject: Re: Two tables with same data but different sorting
Date: Mon, 5 Oct 2020 10:08:08 +0200	[thread overview]
Message-ID: <09250BFA-F311-4F09-A62A-31D9EED76245@axelkielhorn.de> (raw)
In-Reply-To: <m2d021j7g4.fsf@gmail.com>



> Am 02.10.2020 um 11:36 schrieb Robert Pluim <rpluim@gmail.com>:
> 
>>>>>> On Fri, 2 Oct 2020 08:25:03 +0200, Axel Kielhorn <org-mode@axelkielhorn.de> said:
> 
>>> Am 01.10.2020 um 17:47 schrieb John Kitchin <jkitchin@andrew.cmu.edu>:
>>> 
>>> Glad it was helpful. You might also try (seventh row1) or (nth 6 row1). I think it is the same thing, but more obvious to read!
> 
>    Axel> I agree that „first second …“ would be easier for an english speaker.
>    Axel> Having the ordinal number 1 based but the nth number 0 based is irritating (and sadly there is no „last“ or „penultimate“).
> 
> ? C-h f last
> 
>    last is a compiled Lisp function in `subr.el'.
> 
>    (last LIST &optional N)
> 
>      Probably introduced at or before Emacs version 1.1.
>      This function does not change global state, including the match data.
> 
>    Return the last link of LIST.  Its car is the last element.
>    If LIST is nil, return nil.
>    If N is non-nil, return the Nth-to-last link of LIST.
>    If N is bigger than the length of LIST, return LIST.

As i understand it, this should work:

* Table

#+name: table1
| Manufacturer    | Name        | Price |
|-----------------+-------------+-------|
| ACME            | super cheep | 127 $ |
| Roadrunner Inc. | Kaboom      | 27 $  |
| ACME            | cheep       | 30 $  |

#+RESULTS: resorted
| Manufacturer    | Name        | Price |
|-----------------+-------------+-------|
| ACME            | super cheep | 127 $ |
| ACME            | cheep       | 30 $  |
| Roadrunner Inc. | Kaboom      | 27 $  |

** Code for resorting

#+name: resorted
#+BEGIN_SRC emacs-lisp :var data=table1 :colnames t
(sort data (lambda (row1 row2) (string< (last row1) (last row2))))
#+END_SRC

But I get:
Wrong type argument: stringp, ("30 $“)

Greeting Axel

  reply	other threads:[~2020-10-05  8:11 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-01  8:55 Axel Kielhorn
2020-10-01 12:21 ` John Kitchin
2020-10-01 14:36   ` Axel Kielhorn
2020-10-01 15:47     ` John Kitchin
2020-10-02  6:25       ` Axel Kielhorn
2020-10-02  9:36         ` Robert Pluim
2020-10-05  8:08           ` Axel Kielhorn [this message]
2020-10-05  8:32             ` Robert Pluim
2020-10-05  9:21               ` Axel Kielhorn
2020-10-05  9:45                 ` Robert Pluim
2020-10-02 21:04         ` John Kitchin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=09250BFA-F311-4F09-A62A-31D9EED76245@axelkielhorn.de \
    --to=org-mode@axelkielhorn.de \
    --cc=emacs-orgmode@gnu.org \
    --subject='Re: Two tables with same data but different sorting' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).