1
0
mirror of https://github.com/golang/go synced 2024-11-17 07:54:41 -07:00

sort: fix Example_sortMultiKeys

Old example referenced global var from multiSorter.Sort and ignored it's argument.
Changed one of example calls to actually pass slice to sort.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/13551044
This commit is contained in:
Andriy Lytvynov 2013-09-06 16:49:34 -04:00 committed by Russ Cox
parent af2a3193af
commit fb25a61872

View File

@ -26,6 +26,7 @@ type multiSorter struct {
// Sort sorts the argument slice according to the less functions passed to OrderedBy. // Sort sorts the argument slice according to the less functions passed to OrderedBy.
func (ms *multiSorter) Sort(changes []Change) { func (ms *multiSorter) Sort(changes []Change) {
ms.changes = changes
sort.Sort(ms) sort.Sort(ms)
} }
@ -33,8 +34,7 @@ func (ms *multiSorter) Sort(changes []Change) {
// Call its Sort method to sort the data. // Call its Sort method to sort the data.
func OrderedBy(less ...lessFunc) *multiSorter { func OrderedBy(less ...lessFunc) *multiSorter {
return &multiSorter{ return &multiSorter{
changes: changes, less: less,
less: less,
} }
} }
@ -108,11 +108,10 @@ func Example_sortMultiKeys() {
OrderedBy(user).Sort(changes) OrderedBy(user).Sort(changes)
fmt.Println("By user:", changes) fmt.Println("By user:", changes)
// multiSorter implements the Sort interface, so we can also do this. // More examples.
sort.Sort(OrderedBy(user, increasingLines)) OrderedBy(user, increasingLines).Sort(changes)
fmt.Println("By user,<lines:", changes) fmt.Println("By user,<lines:", changes)
// More examples.
OrderedBy(user, decreasingLines).Sort(changes) OrderedBy(user, decreasingLines).Sort(changes)
fmt.Println("By user,>lines:", changes) fmt.Println("By user,>lines:", changes)