I created something similar for handling network device names:

  https://github.com/juju/juju/blob/master/network/devicenames.go

I'll also look to see if we can use the generalised version.

On 22 June 2016 at 09:57, roger peppe <[email protected]> wrote:

> Nice! Could I suggest that the Less implementation is exported
> independently so that it can be used in other sort.Interface
> implementations (for example if we wanted to sort a slice of
> structs by a naturally-sorted key)?
>
> Perhaps call it StringCompareNatural and make it the same
> signature as strings.Compare?
>
>
>
> On 22 June 2016 at 11:35, Menno Smits <[email protected]> wrote:
> > Hi everyone,
> >
> > Earlier this week I needed to be able sort a slice containing unit names
> and
> > machine ids in a way that would make sense to a human. For example, a
> > conventional string sort would order a list of machine ids like this:
> >
> > 0
> > 10
> > 3
> > 3/lxd/1
> > 3/lxd/10
> > 3/lxd/11
> > 3/lxd/2
> > 4
> >
> > when what I really wanted was:
> >
> > 0
> > 3
> > 3/lxd/1
> > 3/lxd/2
> > 3/lxd/10
> > 3/lxd/11
> > 4
> > 10
> >
> > Tim pointed me at something that Anastasia had already done for
> formatting
> > the output from some Juju CLI commands. This was close so I extracted it
> to
> > github.com/juju/utils and generalised it. An in-place sort can be
> performed
> > like this:
> >
> > utils.SortStringsNaturally(someSliceOfStrings)
> >
> > The implementation is here:
> >
> > https://github.com/juju/utils/blob/master/naturalsort.go
> > https://github.com/juju/utils/blob/master/naturalsort_test.go
> >
> > Consider using it if your code needs to sort machine ids, unit names, tag
> > strings, IP addresses and any other slice of strings which contain
> sections
> > of digits.
> >
> > - Menno
> >
> >
> >
> >
> > --
> > Juju-dev mailing list
> > [email protected]
> > Modify settings or unsubscribe at:
> > https://lists.ubuntu.com/mailman/listinfo/juju-dev
> >
>
> --
> Juju-dev mailing list
> [email protected]
> Modify settings or unsubscribe at:
> https://lists.ubuntu.com/mailman/listinfo/juju-dev
>



-- 
Andrew McDermott <[email protected]>
Juju Core Sapphire team <http://juju.ubuntu.com>
-- 
Juju-dev mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev

Reply via email to