Можно ли сказать, что ruby выдает предупреждение только один раз, а не несколько раз?
class SoylentGreen
def eat
warn "Algae harvesting not implemented. Soylent green is people!"
end
end
5.times do
soylent_green = SoylentGreen.new
soylent_green.eat
end
производит
Algae harvesting not implemented. Soylent green is people!
Algae harvesting not implemented. Soylent green is people!
Algae harvesting not implemented. Soylent green is people!
Algae harvesting not implemented. Soylent green is people!
Algae harvesting not implemented. Soylent green is people!
тогда как в идеале я бы хотел, чтобы это произошло только один раз.
Я не использую рельсы, и имею доступ к ruby 1.8 и 1.9.
Альтернативы могут включать в себя написание моей собственной системы предупреждений (которая будет охватывать только преднамеренные предупреждения, подобные этой) или вывод предупреждения за пределы SoylentGreen#eat
(что приведет к его отображению, даже если метод не был вызван) .