Ruby | Dir Class y sus métodos

Un directorio es un lugar para almacenar archivos. En Ruby, los directorios son manejados por la clase Dir y los archivos son manejados por la clase File . En los directorios, el punto doble (..) indica el directorio principal y el punto único (.) indica el directorio en sí.

Métodos de clase

1. mkdir: este método se utiliza para crear un nuevo directorio. También puede poner permiso en el nuevo directorio. 

Dir.mkdir "dir_name", permission

2. Eliminación de directorio: para eliminar un directorio se utilizan los métodos rmdir, delete y unlink , el trabajo de todos estos métodos es el mismo.

Dir.delete "dir_name"
Dir.rmdir "dir_name"
Dir.unlink " Dir_name"

3. existen? : ¿Usando exist? método puede verificar si el directorio existe o no. Devuelve valor en verdadero o falso. 

Dir.exist?"dir_name"

La imagen de abajo ilustra el uso de mkdir, delete y exist? métodos:

4. pwd: para comprobar el directorio de trabajo actual, se utiliza el método pwd (directorio de trabajo actual).

Dir.pwd

5. chdir: para cambiar el directorio de trabajo actual, se utiliza el método chdir. En este método, simplemente puede pasar la ruta al directorio al que desea moverse.

Dir.chdir ”path”

El parámetro de string utilizado en el método chdir es la ruta absoluta o relativa.

La siguiente imagen ilustra el uso de los métodos chdir y pwd:

6. entradas: Para comprobar lo que contiene un directorio. Le proporciona una variedad de contenido.

Dir.entries”dir_name” #[“.”, “..”, “file.txt”, “another directory”]

7. getwd: este método se utiliza para devolver la ruta del directorio de trabajo actual.

Dir.getwd

8. inicio: este método se utiliza para devolver el directorio de inicio del usuario actual.
 

Dir.home

La siguiente imagen ilustra el uso de los métodos entry, getwd y home:

9. glob: este método se usa para verificar ciertos archivos en el directorio actual. Funciona en el concepto de coincidencia de patrones. Expande el patrón, es decir, una array de patrón o un patrón de string y devuelve el valor como coincidente. Algunas notaciones utilizadas en el método global son:
*: Coincide con todos los archivos.
c*: Coincide con los archivos que comienzan con c. 
*c: Coincide con los archivos que terminan en c.
*c*: Coincide con todos los archivos que contienen c, incluidos el inicio y el final.
**: Coincide con los directorios de forma recursiva.
?: coincide con cualquier carácter.
[conjunto]: coincide con cualquier carácter del conjunto.
{p, q}: coincide con p o q literal.
\:Escapa al siguiente metacarácter.

Dir.glob(“pattern”)

La siguiente imagen ilustra cómo usar el método glob:

Métodos de instancia

Aquí h_o es el objeto de la clase dir .

1. cerrar: se utiliza para cerrar el flujo de directorio.

h_o.close

La siguiente imagen ilustra el uso del método de cierre:

2. each: en cada método, el bloque debe llamarse una vez para cada entrada en el directorio y pasar el nombre de archivo para cada entrada como parámetro al bloque.

each{|filename|block}

La siguiente imagen ilustra el uso de cada método:

3. fileno: este método se utiliza para proporcionar el número de archivo utilizado en dir o podemos decir que proporciona la descripción del archivo en valor entero.

h_o.fileno

La siguiente imagen ilustra el uso del método fileno:

4. ruta: este método devuelve el parámetro de ruta.

h_o.path

La siguiente imagen ilustra el uso del método de ruta:

5. pos: este método devuelve el parámetro de posición actual.

h_o.pos=integer

6. leer: este método lee la siguiente entrada del directorio y la devuelve como una string. 

h_o.read

7. Tell: este método se utiliza para indicar la posición actual en dir

h_o.tell

8. buscar: este método se utiliza para buscar la ubicación específica en dir . Devuelve el valor en forma de entero.

h_o.seek(integer)

9. Rebobinar: este método se utiliza para reposicionar dir a la primera posición.

h_o.rewind

Referencia: https://ruby-doc.org/core-2.2.0/Dir.html
 

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *