^хеш.sort[ключ;значение]{функция сортировки_по_строке}
^хеш.sort[ключ;значение]{функция_сортировки_по_строке}[направление_сортировки]
^хеш.sort[ключ;значение](функция сортировки_по_числу)
^хеш.sort[ключ;значение](функция_сортировки_по_числу)[направление_сортировки]
Метод осуществляет сортировку элементов в хеше по указанной функции.
Функция сортировки - произвольная функция, по текущему значению которой принимается решение о положении поля в отсортированном хеше. Значением функции может быть строка (значения сравниваются в лексикографическом порядке) или число (значения сравниваются как действительные числа).
Направление сортировки - параметр, задающий направление сортировки. Может быть:
desc - по убыванию
asc - по возрастанию
По умолчанию используется сортировка по возрастанию.
Пример $men[^hash::create[ $.Serge(26)
$.Alex(20)
$.Mishka(29) ]]
^men.sort[name;]{$name}
^men.foreach[name;age]{
$name: $age
}[<br />]
В результате записи хеша $men будут отсортированы по строке имени:
Alex: 20 Mishka: 29
Serge: 26
А можно отсортировать по числу прожитых лет по убыванию (desc), измените в примере вызов sort на такой…
^men.sort[;age]($age)[desc]
…получится…
Mishka: 29 Serge: 26
Alex: 20