Yunique33
@Yunique33

Как вернуть значение переменной из функции?

Я новичко в руби. Столкнулся с такой проблемой
def get_old_stats
    old_stat = Set.new
    last_log = @campaign.job_logs.where("slm_dump_path is NOT NULL").first
    return unless last_log
    dump_path = last_log.slm_dump_path
    raise "slm_dump_path is missing for #{@campaign}" unless dump_path
    S3::Archive.new.download(dump_path).each do |id|
      old_stat.add(id.first)
    
  end


Нужно, что б эта функция возвращала значение old_stat
Если пишу в конце return old_stat или просто old_stat - возвращает nil
Работает если только сделать переменную old_stat переменной экземпляра (@old_stat) и вынести в отдельную функцию и вызывать из этой отдельной функции
def get_old_stat
    @old_stat
  end


Но хочу избавиться от такого нагромождения и ограничиться одной функцией, как это можно сделать?
  • Вопрос задан
  • 441 просмотр
Пригласить эксперта
Ответы на вопрос 1
@AVKor
#!/usr/bin/env ruby

def test
  testvar = 'foo'
end
puts test

$ ./test.rb 
foo
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы