Ruby docs no lo menciones.¿Dir.glob garantiza la orden?
¿Dir.glob("*")
garantiza el orden de los archivos que devuelve, o tengo que ordenarlos para estar seguro?
Ruby docs no lo menciones.¿Dir.glob garantiza la orden?
¿Dir.glob("*")
garantiza el orden de los archivos que devuelve, o tengo que ordenarlos para estar seguro?
No. No si se está moviendo a través de los sistemas operativos: http://rubyforge.org/tracker/index.php?func=detail&aid=12795&group_id=426&atid=1698
Y, además, creo que nunca hay un pedido interno real en el nivel inferior, por lo que cada salida de la lista de directorios se clasifica previamente de una manera especial; Los discos duros/sistemas de archivos tienen su propia organización de archivos/directorios que, en general, no es alfabética. Eso significa que si necesita un listado ordenado, ¡ordénelo! – asaaki
@asaaki, a veces hay * orden * de bajo nivel. Por ejemplo, NTFS almacena entradas de directorio en orden Unicode en bruto, binario (clasificación ordinal). Vea la publicación de Raymond Chen: ["¿Por qué NTFS y Explorer no están de acuerdo con la clasificación de los nombres de los archivos?"] (Http://blogs.msdn.com/b/oldnewthing/archive/2005/06/17/430194.aspx). También señala que el orden particular utilizado no es apropiado para el usuario, por lo que aún debe ordenar la interfaz de usuario. – efotinis
Si los documentos no lo dicen, entonces no hay garantía, y usted necesita ordenarlo usted mismo. Incluso si funciona en tu rubí actual, puede que no en tu próximo.
no creo que se ordenan en forma alguna, 'dir.c' en la fuente de Ruby llama' readdir (3) 'para generar la lista , y no veo ninguna referencia a 'sort' en el archivo ... – sarnold
+1. Hice el RDOC más preciso para 1.9.3. –