fp.

ספריה לתכנות בסגנון פונקציונלי
הורד עכשיו

fp. דירוג וסיכום

פרסומת

  • Rating:
  • רישיון:
  • Perl Artistic License
  • מחיר:
  • FREE
  • שם המפרסם:
  • Stevan Little
  • אתר האינטרנט של המוציא לאור:
  • http://search.cpan.org/~stevan/

fp. תגים


fp. תיאור

ספריה לתכנות בסגנון פונקציונלי FP הוא מודול Perl, ניסוי בתכנות פונקציונלי. הוא אינו משתמש דבר מלבד שילוב של; Subroutines, @_ מערך וכמה מובנות במפעילים כדי ליישם סגנון של תכנות פונקציונלי.נונה של הקוד לעיל הוא כל המעניין עד שתשקול כי בשום טעם היה משימה משתנה (=), אם הצהרות, או לא רקורסיבי איטרציה בשימוש. אמנם, לעשות כנה לגמרי, יש למעשה פעמיים כאשר המפעיל = משמש את כל המודול. בפעם הראשונה היא להקצות את גירסת המודול, בפעם השנייה היא בתוך שגרת היבוא, אבל אלה הם באמת לא חלקים של ספריה זו באמת התשתיות יותר בכל מקרה.כריי לא מנוצל, במקום התוכן של מערך ארגומנט @ גישה / מניפולציה והעברה יחד כחזרת ערכים מפונקציות. Ridursion הוא האמצעי היחיד של איטרציה, אנחנו לא משתמשים בכל מנגנוני האיטרציה של Perl (עבור, Foreach, וכו '). כל הפונקציות הן לא הרסניות לתשומות שלהם, ופשוט על הכל מחזירה מערך של איזה סוג מסוים, אז תפקוד שיחה שרשור עובד די טוב. הוא פועל רק ברשימות שטוחות בלבד, שכן פרל יהיה לשטח כל מערכים שניתנו כארגומנטים. קוד זה כתוב גם ללא תופעות לוואי. כלומר, כל פונקציה נכתבת להביע אלגוריתם שמייצרת את התוצאה שלה ולא לייצר את התוצאה באמצעות כפייה של תופעות לוואי. הנה דוגמה למה אני מתכוון, באמצעות אפילו / מוזר predicate products.with תופעות לוואי: תת is_even {(($ _ % 2) == 0); } sub is_odd {(($ _ % 2) = 0); } ללא פער צד: תת is_even {($ _ <= 0)? TRUE: IS_ODD ($ _ - 1); } sub is_odd {($ _ <= 0)? FALSE: IS_EVEN ($ _ - 1); } סינופסיס השתמש ב- FP; # לסנן את כל המסננים גם המספרים (פונקציה {is_even (ראש (@_))}, טווח (1, 100)); # לפצל את המחרוזת, לקבל רשימה ייחודית מתוך IT # ואז לקבל את אורך הרשימה, ולאחר מכן לבדוק # זה שווה ל 26 is_equal_to (לן (ייחודי ("פוקוס חום מהיר קפץ על הכלב עצלן ורץ למטה כביש "))), 26); # סכום המספרים 1 עד 10 הוא 55 is_equal_to (סכום (טווח (1, 10), 55); דרישות: · פרל


fp. תוכנה קשורה