سؤال

هو في غاية الأهمية أنني دائما قريبة Syslog عندما انتهيت من استخدامه ؟ هل هناك تأثير سلبي كبير من لا يفعل ذلك ؟

إذا اتضح أن أنا بالتأكيد بحاجة إلى ما هو وسيلة جيدة للقيام بذلك ؟ أنا فتح Syslog في صفي منشئ و أنا لا أرى وسيلة للقيام الدرجة المتلفات في روبي ، وحاليا لديك شيء يشبه هذا:

class Foo
  def initialize
    @@log = Syslog.open("foo")
  end
end

لا نرى على الفور مكان Syslog.close يجب أن تكون الدعوة, ولكن ماذا تنصح ؟

هل كانت مفيدة؟

المحلول

طريقة فتح يقبل كتلة.تفعل شيئا من هذا القبيل:

class Foo
  def do_something
    Syslog.open do
      # work with the syslog here
    end
  end
end

نصائح أخرى

يبدو أنك افتتاح كطبقة متغير...لذا الطريقة الصحيحة أن تفعل...

class Foo
  def initialize
    @@log = Syslog.open("foo")
  end

  def Foo.finalize(id)
    @@log.close if @@log
  end
end

على الرغم من أن هذا ليس necesssarily يمكن التنبؤ بها أو دعمها.إنها طريقة للقيام بذلك إذا كنت ذاهب للحفاظ على رمز الطريقة التي لديك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top