
sort_array(3)         LPC 系統函數         sort_array(3)

名稱
     sort_array() - 根據某函數所指定的規則排列陣列

語法
     mixed *sort_array( mixed *arr, string fun, object ob );
     mixed *sort_array( mixed *arr, function f );
     mixed *sort_array( mixed *arr, int direction );

描述
     第一種型式傳回 <arr> 經快速排序之後的相同的元素的陣列, 其
     比大小的方式由 <fun> 的傳回值決定. 其中 <fun> 是定義在 <ob> 中.
     如果沒給定 ob, 則 <fun> 必須定義在同一物件中. <fun> 必須比較兩
     個參數的大小, 傳回 1 表示大於, 傳回 0 表示等於, 傳回 -1 表示小於.

     第三種型式的比對是用系統內定的, <direction> 的值是 1 或 0 
     則傳回遞增排序後的結果, <direction> 的值是 -1 則遞減排序.
     用此種內定的方式當然有些限制, 例如: 陣列元素的型態只能是
     簡單的型態, 如 int, float, string. 而且陣列的元素不能是陣列,
     如果陣列的元素是陣列, 則會以元素陣列的第一個元素當排序的參考
     元素, 而不是以整個陣列當排序時的參考元素.

範例
     /std/guild.c, /adm/daemons/event.c, /adm/daemons/finger.c
     /adm/daemons/profile.c, /adm/daemons/topuserd.c,
     /cmds/adm/_aproposm.c, /cmds/file/_ls.c, /cmds/object/_data.c
     /cmds/object/_fref.c, /cmds/std/_alias.c, cmds/std/_mudlist.c
     /cmds/std/_score.c, /cmds/std/_semote.c, /cmds/std/_set.c
     /cmds/std/_skills.c, /cmds/std/_who.c, /cmds/wiz/_apropos.c
     /cmds/wiz/_people.c, /cmds/wiz/_stat.c

請參考
     filter_array(3), map_array(3), strcmp(3)

MudOS                Last change: 5 Sep 1994                    1

