Sorting 如何对红色列表进行反向排序?
我一直在玩,我想出了如何排序列表:Sorting 如何对红色列表进行反向排序?,sorting,reverse,red,Sorting,Reverse,Red,我一直在玩,我想出了如何排序列表: --== Red 0.5.1 ==-- Type HELP for starting information. red>> list: [1 9 6 8] == [1 9 6 8] red>> sort list == [1 6 8 9] 我想把这张单子倒过来排序。我该怎么做?我尝试过各种组合: red>> sort !list *** Script error: !list has no value *** Wh
--== Red 0.5.1 ==--
Type HELP for starting information.
red>> list: [1 9 6 8]
== [1 9 6 8]
red>> sort list
== [1 6 8 9]
我想把这张单子倒过来排序。我该怎么做?我尝试过各种组合:
red>> sort !list
*** Script error: !list has no value
*** Where: sort
red>> !sort list
*** Script error: !sort has no value
*** Where: try
red>> sort reverse list
== [1 6 8 9]
red>> sort list reverse
*** Script error: reverse is missing its series argument
*** Where: reverse
它是基于堆栈的,所以您需要从右向左读取它。你可以这样写:
red>> reverse (sort list)
更好地想象。排序有一个/反向细化,它使您能够实现您想要的:
red>> sort/reverse [1 9 6 8]
== [9 8 6 1]
还要注意,SORT会修改其参数
通过使用集成帮助系统,您可以了解有关排序(或任何其他功能)工作原理的更多信息:
red>> help sort
USAGE:
sort series /case /skip size /compare comparator /part length /all /reverse /stable
DESCRIPTION:
Sorts a series (modified); default sort order is ascending.
sort is of type: action!
ARGUMENTS:
series [series!]
REFINEMENTS:
/case => Perform a case-sensitive sort.
/skip => Treat the series as fixed size records.
size [integer!]
/compare => Comparator offset, block or function.
comparator [integer! block! any-function!]
/part => Sort only part of a series.
length [number! series!]
/all => Compare all fields.
/reverse => Reverse sort order.
/stable => Stable sorting.
当然,请注意,
排序/反向列表
将比反向排序列表
更有效(因为排序过程本身将作为单个操作反向进行…),当然,您是对的。我还没有检查/reverse是否已经以红色实现:)…出于教育目的,也许值得指出的是,使用自定义比较函数可以实现这一功能,该函数可以扭转比较的偏差:sort/compare[1 6 9 8]function[a b][a>b]
。
red>> help sort
USAGE:
sort series /case /skip size /compare comparator /part length /all /reverse /stable
DESCRIPTION:
Sorts a series (modified); default sort order is ascending.
sort is of type: action!
ARGUMENTS:
series [series!]
REFINEMENTS:
/case => Perform a case-sensitive sort.
/skip => Treat the series as fixed size records.
size [integer!]
/compare => Comparator offset, block or function.
comparator [integer! block! any-function!]
/part => Sort only part of a series.
length [number! series!]
/all => Compare all fields.
/reverse => Reverse sort order.
/stable => Stable sorting.