سؤال

الفكرة هي تنفيذ فصل يحصل على قائمة [صفائف ، موضوع :: قوائم قوائم النقل وغيرها من الأشياء] في مُنشئ Tiehash ،

use AbstractHash; 
tie(%DATA, 'AbstractHash', \@a1, \@a2, \$tcq);

ما هي الطريقة الصحيحة لتمرير مراجع الكائنات (مثل المذكورة الموضوع :: النقل كائنات) وبالتالي مراجع الصفيف في مُنشئ ، بحيث يمكنه الوصول إلى الكائنات؟ في أي حالات يجب أن تبارك كائن تم تمريره؟

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

المحلول

بقدر ما أستطيع أن أقول ، الكائنات ليست كائنات ما لم تكن bless-ed.

ومع ذلك ، فإن حجة المنشئ ستكون ببساطة مجموعة من Thread::Conveyor أشياء:

my $data = AbstractHash->tie ( \@a1, \@a2, \$tcq );

حيث يتم تعريف المنشئ في AbstractHash حزمة:

sub tie {

    my $class = shift;  # Implicit variable, don't forget

    my $data = {
                 someArray => +shift,
                 queues    => +shift,
                 someValue => +shift,
               };

    # $data starts life as a hashref, make it an 'AbstractHash'

    bless $data, $class; # $data is no longer a hashref
    return $data;        # AbstractHash object returned
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top