Доброго времени суток!
По текущему вопросы было прочитано куча статей и был перерыт весь гугл вкупе с Ruby Way, но конкретно я так и не понял - что к чему.
Вопрос в следующем:
Насколько будет правильным или же неправильным использование self в методе initialize для атрибутов класса?
И будет ли нарушением, если, скажем, мы будем ставить "@" перед атрибутами, а не self?
Судя по всему изученному и прочитанному, я делаю вывод, что ставить нужно self, ибо мы вызываем метод, а не обращаемся к самой переменной. Соответственно, "@" нужно ставить при обращении к переменной как к get'теру, а не как к set'теру.
Прошу рассудить.
Заранее, благодарю!
class Log_parse
attr_accessor :dir, :input_filename, :output_filename, :result_filename,
:src_ip_final_table, :dst_ip_final_table,
:proto_final_table, :service_port_final_table
def initialize
self.dir = ""
self.output_filename = []
self.input_filename =
[
'01_02_2019.txt', '05_02_2019.txt',
'07_02_2019.txt', '09_02_2019.txt',
'11_02_2019.txt', '13_02_2019.txt',
'15_02_2019.txt', '18_02_2019.txt',
'20_02_2019.txt', '21_02_2019.txt',
'24_02_2019.txt', '26_02_2019.txt',
'28_02_2019.txt'
]
@input_filename.each_with_index do |filename, iterator|
self.output_filename[iterator] = @dir + 'output_' + filename
end
self.src_ip_final_table = []
self.dst_ip_final_table = []
self.proto_final_table = []
self.service_port_final_table = []
end
# ...
end