Ordenar array alfabéticamente

Sayden - 05/05/2009 09:43
Buenas. Una cosa rápida, no me funciona la ayuda de Maxscript no sé por qué. Alguien me puede decir cómo ordenar alfabéticamente los elementos de un array? Gracias.
Cesar Saez - 05/05/2009 18:44
[code]sort #(Daniel, Cristian, bastian, Andrés)[/code]
hori_hjm - 05/05/2009 18:51

[code]sort #(Daniel, Cristian, bastian, Andrés)[/code]

Y si tienes 5.324.956.329.487 nombres funciona también? Lo hace automático?
Cesar Saez - 05/05/2009 19:26

Y si tienes 5.324.956.329.487 nombres funciona también? Lo hace automático?

En teoría sí, pero mi paciencia llegó hasta la de nada más.

El único requisito es que todos los elementos sean del mismo tipo, si tienes un array mixto tendrías que separarlo según el classof de cada elemento y luego unir los arrays ordenados. Algo como esto:
[code]Fn sortarraybytype thearray =
(.

Datatype = makeuniquearray (for each in thearray collect (classof each)).

Result = #().

For I in datatype do join result (sort (for each in thearray where (classof each)==i collect each)).

Return result).

Sortarraybytype #(Daniel, 4, Cristian, 3, bastian, 2, Andrés, 1).
[/code]
Sayden - 05/05/2009 19:39

Y si tienes 5.324.956.329.487 nombres funciona también? Lo hace automático?

Te has molestado en poner los puntos y todo. Gracias César, sort, a veces creo que debería pararme a pensar un poco antes de gritarle help. A la ayuda de Maxscript.

De nuevo, gracias.
hori_hjm - 06/05/2009 07:38
Pensé que podía pillar a César no sabiendo cómo hacer algo, pero que va, sigo intentando. Siempre muy eficiente.
mbrunetta - 19/05/2009 05:14
También existe la función Qsort, que te permite ordenar elementos en base a una función definida por tú. O sea que podría ordenar objetos según el wirecolor más saturado o cualquier signo por el estilo.