PERL6 :: كراينج

PERL6 :: Currying هو الكهرات الفرعية البيرل 6 من بيرل 5.
التحميل الان

PERL6 :: كراينج الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Damian Conway
  • موقع ويب الناشر:
  • http://search.cpan.org/~dconway/

PERL6 :: كراينج العلامات


PERL6 :: كراينج وصف

PERL6 :: Currying هو Currying Perl 6 الكاري ل Perl 5. PERL6 :: Currying هو Currying Perl 6 الكراهية ل Perl 5.Synopsis استخدم PERL6 :: Currying؛ Sub Add ($ A، $ B) {$ A + $ b} # تحديد الفرعية مع الإطار المسمى Print إضافة (1،2)؛ # اتصل به $ Inc = add.prebind (a => 1)؛ # ربط الحجة $ 1 # لإنشاء زيادة الروتين الزيادة طباعة $ Inc -> (3)، "N"؛ # تزداد رقم Numberthe Perl6 :: Currying Module يتيح لك تجربة بناء جملة Perl 6 الصريح للطلب الصريح في بيرل 5.in Perl 6 يمكن أن يكون أي فرعي "مرتبط جزئيا". وهذا هو، يمكنك توفير بعض حججه، وبالتالي إنشاء روتين فرعي آخر يستدعي الأصلي مع تلك الوسائط تلقائيا. معلمات الأقربوط الروحية مرتبطة جزئيا عن طريق استدعاء طريقة مسبقة مسبق على الروتين الفرعي. تقوم هذه الطريقة بإرجاع المرجع إلى روتين فرعي جديد يستدعي الروتين الفرعي الأصلي، وإدخاله في قائمة الوسيطة الخاصة به الحجج Prebound. على سبيل المثال: # Perl 6 Code Code Divide ($ Nodator، قاسم $) {Return $ Nemerator / قاسم القاسم؛ } My $ Halve = divide.prebind (القسم => 2)؛ لاحظ أنه من الضروري استخدام و Sigil للإشارة إلى أن رمز الأسلوب :: Prebind يجب أن يتم استدعاؤه على كائن رمز الفجوة، وليس ما :: Prebind أيا كان الكائن الذي تم إرجاعه عن طريق استدعاء الفجوة. للحصول على الأخير، نكتب: قسم (). Prebind (...) أو: divide.prebind (...) بعد أن نسمي القاسم، إذا اتصلنا الآن في الروتين الفرعي المشار إليه بمقدار نصف تأثيره تقسم مع قاسم مزود تلقائيا من 2. أي: # بيرل 6 كود الفجوة طباعة (42،2)؛ # مكالمات تقسم ... يطبع 21 طباعة $ نصف (42)؛ # المكالمات تقسم ... يطبع 21 من الممكن أيضا مسبقا جميع الوسائط من الروتين الفرعي، إما كل شيء في وقت واحد: # بيرل 6 رمز بلدي $ pi_prox = divide.prebind (numerator => 22، القاسم => 7)؛ طباعة $ pi_prox ()؛ # المطبوعات 3.14285714285714 مور في المراحل: # بيرل 6 كود بلدي pi_legislated = $ halve.prebind (numerator => 6)؛ طباعة $ pi_legislated ()؛ # يطبع 3Note أننا لم نحتاج إلى SIGIL و SIGIL قبل النصف بالكامل لأن هذا الجملة هو مكالمة بشكل لا لبس فيه (من خلال مرجع إلى كائن رمز) إلى التعليمات البرمجية :: Prebind.You يمكنك أيضا استخدام مشغل Perl 6 Aliasing (: =) لإنشاء روتينات فرعية جديدة جديدة عن طريق ربطها جزئيا الموجودة. على سبيل المثال: # Perl 6 رمز متداول: = Divide.prebind (Numerator => 1)؛ طباعة المتبادلة (10) # المطبوعات 0.1Parameter ملزمة في Perl 5The PERL6 :: Currying Module يسمح لك باستخدام بناء الجملة نفسها في Perl 5.That، يمكنك توفير بعض الوسائط إلى Perl 5 (النماذج الأولية) Perl 5، وبالتالي قم بإنشاء روتين فرعي آخر يستدعي الأصل باستخدام تلك الوسائط تلقائيا. يتم إنشاء فرعي جديد من خلال استدعاء أسلوب Prebind على الروتين الفرعي الأصلي. على سبيل المثال: # Perl 5 Code استخدم PERL6 :: Currying؛ الفجوة الفرعية (الدميات $، قاسم $) {عودة $ البسط / قاسم القاسم؛ } بلدي النصف = divide.prebind (القسم => 2)؛ ملاحظات: كما يعني المثال أعلاه، يمنحك PERL6 :: Currying القدرة (المحدودة) على إعلان الروتين الفرعي Perl 5 مع المعلمات المسماة. يجب أن تكون هذه المعلمات حاليا قائمة من العمال المفصولة بفواصل، كما هو موضح أعلاه. تصبح كل معلمة متغير تعددية معجمية داخل جسم الروتين الفرعي. بالنسبة للتوافق إلى الأمام، إلى معلمات Prebind في Perl 5، يتم استخدام بناء جملة استدعاء طريقة Perl 6 (...) بدلا من Perl 5 بناء الجملة ($ Objref-> NettimeName (...)). لتكون متسقة مع بيرل 6، لا تزال ضرورية لاستخدام و Sigil للإشارة إلى أن الطريقة التي سيتم استدعاؤها هي الرمز :: prebind، وليس مسبقا للكائن الذي تم إرجاعه من خلال استدعاء Divide.having prebound المقام، إذا اتصلنا الآن بالتحطيب الفرعي المشار إليه بمقدار النصف $ النصف هو استدعاء الفجوة مع قاسم مقدم مزود تلقائيا من 2. أي تقسيم طباعة رقم Perl 5 (42،2)؛ # مكالمات تقسم ... يطبع 21 طباعة $ نصف -> (42)؛ # المكالمات تقسم ... يطبع 21Note أنه نظرا لأن هذه مجرد مكالمات فرعية PERL 5 طبيعية، فإن بناء الجملة PERL 5 مرجع مرجعي المرجع ($ Subref -> (...)) بدلا من بناء جملة Perl 6 ($) Subref. (...)). من الممكن أيضا مسبقا جميع حجج الروتين الفرعي، إما كل شيء في وقت واحد: # Perl 5 Code استخدم PERL6 :: Currying؛ بلدي $ pi_proux = divide.prebind (numerator => 22، القاسم => 7)؛ طباعة $ pi_prox -> ()؛ # المطبوعات 3.14285714285714 م في المراحل: # بيرل 5 كود استخدام PERL6 :: الكراهية؛ بلدي pi_legislated = $ halve.prebind (numerator => 6)؛ طباعة $ pi_legislated ()؛ # المطبوعات 3YOU يمكنها أيضا استخدام Perl 5 Typeglobs لإنشاء روائح فرعية جديدة جديدة عن طريق ربطها جزئيا الموجودة. على سبيل المثال: # بيرل 5 كود * المتبادلة = divide.prebind (numerator => 1)؛ طباعة المتبادلة (10) # المطبوعات 0.1Requirements: بيرل


PERL6 :: كراينج برامج ذات صلة

Biblio :: داعش

Biblio :: ISIS هو وحدة بيرل لقراءة قاعدة بيانات الأقراص المدمجة / ISIS و WinISIS و ISISMARC. ...

9,635

تحميل