Recorrer un directorio y rellenar estructura TreeView

Buenas,

Estoy haciendo un programilla en Ruby y me gustaría hacer algo que no
logro hacer.

Se trata de recorrer un directoiro dado, por ejemplo /home, e ir
introduciendo cada elemento que se encuentre dentro de ese directorio en
una estructura TreeView, que se encuentra en Ruby GTK.

Lo de recorrer un directorio e imprimir todo lo que haya dentro es tarea
fácil:

require ‘find’
Find.find(’./’) do |f| p f end

Pero el problema es que cuando hago ésto, todo aquello que hay dentro
del directorio se imprime a un mismo nivel. Así pues, si dentro de /home
tubiera dos subcarpetas “a” y “b”, y dentro de esa subcarpeta “a”
tubiera “a1” y “a2”, el comando anterior me imprimiría:

/home/a
/home/a1
/home/a2
/home/b

Pero lo que yo quiero, es que me diferencie entre las subcarpetas “a” y
“b”, y las subcarpetas de “a” que son “a1” y “a”, y que a la vez son
“subsubcarpetas” de /home. Es decir, lo que yo quiero, es lo siguiente:

/home/a
/home/a1
/home/a2
/home/b

Pero no se me ocurre la forma de distinguir entre los diferentes niveles
que encuentro dentro de un directorio, a partir del comando que uso
ahora mismo.

¿Hay alguna manera de hacerlo?

Una vez encontrara la manera, supongo que a cada pasada del bucle
bastaría con introducir el elemento en su puesto correspondiente en la
estructura TreeView, y así luego podría imprimirla de forma gráfica en
modo de ventana y ya tendría el tema solucionado.

Gracias.

2008/5/12 John L. [email protected]:

Buenas,

Estoy haciendo un programilla en Ruby y me gustaría hacer algo que no
logro hacer.

Hola,

aunque ocasionalmente surgen dudas de Ruby en la lista, en la medida
de lo posible procuramos mantener esta dedicada especificamente al
desarrollo con el framework Rails.

Existe una lista de correo especifica sobre Ruby. Ahora mismo no tengo
la dirección, pero estoy seguro de que una búsqueda en Google
resolverá eso rapidamente.

Suerte.


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.

OK gracias, ya me lo van resolviendo aquí:
http://www.ruby-forum.com/topic/152744#673407

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs