Как читать и писать файлы в Ruby

{title}

В этом коротком руководстве мы увидим, как читать и записывать файлы с использованием языка программирования Ruby. Для практики приведем несколько простых примеров. Если вам интересно посмотреть примеры того, что будет объяснено сегодня, или других вещей, связанных с Ruby, вы можете посетить его документацию.

Первый пример
В этом случае мы приступаем к созданию копира, который читает программный код (files.rb) и копируется в другой файл (copyFicheros.rb).

 File.open ('files.rb', 'r') do | file1 | File.open ('copyFicheros.rb', 'w') do | file2 | while line = file1.gets file2.puts (line) end file2.puts ("# end of copy") end end 
Первая строка открывает файл, из которого он читается ( r - read ) и будет иметь имя file1, во второй мы открываем файл, в который он записан ( w - write ), имейте в виду, что все в файле копии удалено. .rb, если вы хотите, чтобы я печатал после того, как у вас есть текст, измените w на ( a - append ). У нас есть цикл, который будет читать строку из файла file1 и записывать ее в файл file2, когда больше нечего читать, пишем строку для файла «copy».

примечание

Если вы хотите открыть файл для чтения и записи, используйте r + .

Второй пример
В этом примере мы покажем файлы, которые мы находим из каталога, в котором мы выполняем код, поэтому вы увидите Find.find ('./'), который выполняет поиск вниз из каталога, который он получает в качестве параметра, если вы хотите другой каталог из какой раскол является ./ .

 требуют 'find' Find.find ('./') do | f | если File.file? (f), тогда ставит f end 
В качестве первого шага мы импортируем find, он нам нужен. Вторая строка кода, которую вы видите, это та, что описана выше. В этом коде нас интересует только показ файлов, а не каталогов, поэтому в третьей строке проверяется, является ли это файл, и если да, то мы рисуем его в четвертой. Затем я оставляю выход для запуска кода:

{title}

Какие другие типы чтения / письма мы можем сделать, а какие нет в этом уроке:

  • Мы можем использовать произвольный доступ с методом поиска классаIO.
  • Мы можем сохранять и загружать объекты (сортировка).

  • 0