|
08-08-2007, 18:09
|
|
|
|
חבר מתאריך: 12.04.06
הודעות: 2,021
|
|
שוב שלום
חחחח
לגבי שאלתך הראשונה, על "איך שימוש בפונקצייה מקצר את התהליך",
אז זה שאתה שם ערכים, לא גורם לכך שזה יהיה ארוך יותר,
אני אשאל אותך 2 שאלות של מחשבה עצמית (סוג של ניסוי וטעייה - השיטה הטובה ביותר ללמוד),
1- אם אתה רוצה לתכנת מערכת, אבל לא מגדיר לה איך לפעול, האם היא תצליח לפעול?
2- נניח ואתה רוצה לעשות מספר פעולות זהות מוגדרות מראש, ולשנות רק איבר אחד מתוך כל הפעולות, ושהפעולות יתבצעו עם/בלי תיאום של האיבר הזה שמשתנה,
מה יהיה קצר יותר,
אפשרות ראשונה - לכתוב כל פעם מחדש את כל הפעולות, ולהתאים אותם כל פעם מחדש?
אפשרות שניה - לכתוב פעם אחת את כל מה שרוצים לעשות, ולבצע את אותה פעולה שוב ושוב ושוב?
עכשיו תשובות והסברים, (והקשר לנושא)
1- כל מערכת, דורשת בסיס, אתה לא יכול לכתוב start והמערכת תתחיל לעבוד, אתה צריך לתת לה את הבסיס שלפיה היא תעבוד.
אותו דבר הטענה שלך, אתה לא יכול לקרוא לפונקצייה, שלא יודעת מה לעשות.
בעצם יודעת, אבל אין לה מספיק נתונים לעשות מה שצריך.
(נניח מהדוגמאות, לקחת אימייל, ולשנות אותו לקישור פעיל -- אם אין אימייל, את מה תהפוכנה הפונקצייה?)
2- אני חושב שמהשאלה כבר מבינים, שעצם זה שאתה רושם משהו פעם אחת, וכל פעם משנה רק חלק קטן מתוך הדבר הענק, זה כבר מקצר הרבה דברים, מאשר לכתוב שוב ושוב ושוב את אותם הדברים (זה גם ניקרא קוד יעיל). במקום להעתיק את הקוד הקודם, ולשנות בו את הערכים,
אתה מגדיר פונקצייה אחת, שבסה"כ רושמים את שמה, ואת הערכים שעליהם עובדים, והיא כבר יודעת לבד מה לעשות, ומחזירה לך רק את התוצאה, בלי שום דבר שולי.
לסיכום,
הקיצור הוא בזה שאתה לא צריך לעשות דברים יותר מפעם אחת, על ידי שימוש בפונקצייה,
ובכך שאתה משנה את הדברים הבסיסיים ביותר, זה לא הופך משהו לתהליך ארוך ולא שווה לביצוע
---
עכשיו בקשר לreturn,
אני חושב שיהיה הכי טוב להשתמש בניסוי וטעייה, ולא רק בדיבור תיאורתי
תיצור קובץ php שבו:
פונקציה אחת, עם global וreturn
פונקצייה שניה, עם global בלי return
פונקצייה שלישית, בלי global עם return
ורביעית בלי אף אחת.
בכל הפונקציות תשנה את המשתנים,
ואז תדפיס את הפונקציות ותבדוק מה קורה
בשיטה הזאת אתה תדע מתי להשתמש בכל אפשרות (מה4 שאתה מנסה).
אתה צודק,
אין צורך תמיד להשתמש בglobal,
אם לדוגמא ישר מהפונקצייה אתה מדפיס משהו קבוע, בלי שהוא נזקק למשהו אחר,
לדוגמא:
קוד PHP:
function do_br() { echo "<BR>"; }
(סתם דוגמא !)
הפונקצייה הזאת תפסיק !
לעיתים גם אין צורך בreturn אלא אם רוצים להפסיק את פעולת הפונקצייה באמצע הדברים,
וכו'
מהשאלות קצת קשה להסביר מתי לעשות מה,
צריך להביא דברים מעשיים, ואז עליהם לשאול את השאלות
ומזה גם אני מגיע לעוד דבר,
חשוב ! חשוב ! חשוב ! שאתה תעבוד בצמוד לספר,
ותתרגל כל קוד וכל פקודה שהוא מציג,
סתם מקריאה והבנה, לא לומדים, ואח"כ בפעולות מעשיות, לא מבינים כלום.
גם כשאני רושם קוד, אני בודק כל מיני דרכים לעשות אותו,
ארוכות יותר, וקצרות יותר, עד שאני מוצא את הדרך האידיאלית בשביל עצמי ! (אם בתכנות הכל יהיה דומה למערכות שונות שמהן אנחנו לוקחים השראה, זו לא תהיה מערכת איכותית וייחודית)
ושוב בהצלחה
אני פתוח לעוד שאלות.
_____________________________________
|
|