Advertisement
Guest User

Untitled

a guest
Aug 6th, 2020
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.23 KB | None | 0 0
  1. class ProductCollection
  2.  
  3.   def self.from_dir
  4.      dir_books = Dir.glob("data/books/*")
  5.        
  6.      array_books = []
  7.  
  8.      dir_books.each do | book |
  9.          array_books << book
  10.      end
  11.  
  12.      dir_movies = Dir.glob("data/movies/*")
  13.  
  14.      array_movies = []
  15.        
  16.      dir_movies.each do | movie |
  17.        array_movies << movie
  18.      end
  19.      
  20.     @joint = array_books + array_movies
  21.  
  22.     # Читаем каждый файл из массива
  23.     @joint.each { | f | puts File.read(f) + "\n\r" }
  24.    
  25.   end
  26.  
  27.   def to_a
  28.    
  29.     # Хочу вызвать метод класса, который выше, чтобы избежать копирования
  30.     # Пробовал self.class.from_dir
  31.     # Это необходимо из-за того, что если вызвать у экземпляра метод "to_a",
  32.     # без метода "self.from_dir" то переменная @joint == nil, будет пуста.
  33.    
  34.     # Хочу чтобы в консоль при вызове этого метода выводилась первая строка
  35.     # из содержимого каждого элемента массива
  36.     self.from_dir
  37.     @joint.each { | f |  puts File.read(f.first) }
  38.   end
  39. end
  40.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement