-
בשפה האנגלית יש לנו חלקים שונים של דיבור,
-
כמו שם עצם, שם תואר, מילות יחס, פעלים.
-
וכמו כן יש גם אוסף של חוקים שאומרים לנו מתי ואיך להשתמש בכל אחד מחלקי הדיבור האלו ביחד
-
אני יכולה להגיד משהו כמו ״שיעורים הכלב את אכל לי״, ואתם תגידו ״על מה לעזאזל את מדברת?!״
-
ואם לא הבנתם את זה כבר, מסתבר שאסור לשים שני שמות עצם
-
לפני שם תואר או לפני פועל. לא עובד.
-
אבל אם הייתי מחליפה את הסדר ואומרת ״הכלב אכל לי את השיעורים״ אז הייתם מבינים למה אני מתכוונת.
-
אפילו הייתי יכולה להחליף את המילה ״אכל״ עם פועל אחר כמו, נגיד, ״זרק״
-
ועדיין זה היה הגיוני מבחינת דקדוק, אפילו אם קשה לדמיין כלב זורק ספר.
-
אז בתכנות, במקום החלקים השונים של הדיבור, יש לנו דברים כאלו שנקראים ״טיפוסים״ או באנגלית ״types".
-
כבר ראיתם אותם בעבר: מספרים. אנחנו משתמשים במספרים כל הזמן בקוד הציור שלנו.
-
ובדיוק כמו באנגלית, יש זמנים שבהם זה הגיוני להשתמש במספר, ויש כאלו שלא.
-
אם אני אתחיל להקליד בפונקציית ה-background הזו, ״100 מינוס״ אז כדאי שהדבר הבא יהיה מספר
-
או לפחות משהו שהערך שלו הוא מספר כמו ״14 + 15״
-
מצד שני, אם אני פשוט אקליד ״100 רווח״, אני לא יכולה להקליד מספר אחרי זה
-
כי ״100 רווח 10״ לא באמת אומר משהו.
-
יש טיפוס נוסף בתכנות, נקרא לו טיפוס בוליאני.
-
והוא נקרא בוליאני מכיוון שבחור כלשהו בשם ג׳ורג׳ בול המציא אותו.
-
ובניגוד למספר, שיש לו מלא ערכים אפשריים,
-
לטיפוס בוליאני יכול להיות רק אחד מתוך שני ערכים: אמת (true) או שקר (false)
-
ושימו לב שכשאני מקלידה אותם, הם הופכים להיות כחולים, מה שאומרים שהם מילה סופר מיוחדת ושמורה.
-
בטוח שכבר ראיתם מקום אחד שמשתמש בבוליאנים, למרות שאולי לא הבנתם את זה:
-
הצהרות if!
-
בואו נזכר ממש מהר איך זה עובד.
-
אני הולכת להגדיר משתנה בשם ״number״, ולתת לו ערך, נגיד 40.
-
ולכתוב הצהרת if שאומרת "אם המספר נמוך מ-50 אז...
-
... אז אני אצייר את האליפסה הראשונה הזו״.
-
אני הולכת להעתיק את ההצהרת if הזו וליישר אותה על ידי בחירה של הכל ולחיצה על מקש ה-TAB.
-
אז עכשיו ההצהרה הזו אומרת, ״אם המספר נמוך מ-50 (והוא נמוך!) אז נצייר את האליפסה העליונה״.
-
ואם אני אהפוך את המספר ליותר מ-50 אז אתם יכולים לראות שהאפליסה נעלמת.
-
אוקיי, אז הדבר הזה בתוך הסוגריים הוא למעשה ביטוי בוליאני.
-
זכרו שביטוי מתמטי הוא כל דבר שניתן לחשב את ערכו כמספר, לדוגמא: 3 ועוד 2 ועוד 4 כפול 8.
-
אז ביטוי בוליאני הוא כל דבר שניתן להעריכו כבוליאני (אמת או שקר)
-
דרך טובה לבדוק אם ביטוי הוא בוליאני היא באמצעות המילה ״האם״
-
בתחילת הביטוי, ולהציג את הביטוי כמו שאלה.
-
אם זה נשמע כמו שאלת כן/לא פשוטה אז תדעו שזה ביטוי בוליאני.
-
כאן למשל אנחנו יכולים להגיד, ״האם number קטן מ-50?״ כן! אז כן, זה ביטוי בוליאני.
-
מצד שני, אם היה לנו משהו כמו ״4 + 4״, והיינו מנסים לשאול,
-
״האם 4 + 4?״ לא. זה לא ביטוי בוליאני.
-
אז בחזרה להצהרת ה-if שלנו. אני למעשה יכולה לשים הכל
-
בתוך הסוגריים, כל עוד זה משתנה בוליאני או ביטוי בוליאני.
-
אז אני יכולה לכתוב ״if true״, ואז האליפסה תמיד תצוייר.
-
או שאני יכול להגיד ״if false״ ואז האליפסה לעולם לא תצוייר.
-
אני גם יכולה לעשות משהו כמו ״אם 3 קטן מ-4״, שזה ביטוי בוליאני
-
שתמיד יהיה נכון, שזה קצת חסר טעם,
-
האליפסה תמיד תצוייר. או למשל ״3 גדול מ-4״ מה שתמיד יהיה שקר.
-
ואני יכולה לתת ערך בוליאני למשתנה, ככה
-
אז אני הולכת להגדיר משתנה חדש, נראה לו winstonIsCool, ונציב לו ערך
-
בוליאני, אז או אמת או שקר. נניח אמת מכיוון שוינסון באמת מגניב.
-
ועכשיו שלמשתנה הזה יש ערך בוליאני, אני יכולה להעתיק לאותו
-
ולשים אותו בתוך הצהרת ה-if
-
ועכשיו אתם יכולים לראות שהאליפסה אכן מצויירת, מכיוון שהערך של המשתנה winstonIsCool
-
הוא אמת.
-
אני יכול להחליף את זה עם ביטוי בוליאני,
-
למשל ״2 קטן מ-4״.
-
עכשיו אם אתם מגדירים משתנה שמיועד להיות בוליאני,
-
כדאי שתתנו לו שם שמתאר את התנאי שלו כשהמשתנה נכון (true).
-
דרך טובה לבדוק אם בחרת שם טוב עבור המשתנה שלכם
-
היא לשים אותו בהצהרת if ולראות אם הוא הגיוני בתור תנאי.
-
תשכחו רגע את winstonIsCool, אנחנו כבר יודעים שזה נכון.
-
נניח שהיה לנו משתנה בשם "muffins״.
-
אוקיי, אם muffins, המממ,
-
אתם יודעים מה, השם הזה לא אומר לי כלום, אז כנראה שזה שם רע למשתנה.
-
אבל אם היה לי תנאי עם משתנה כמו למשל "if muffinsAreBaking״, אז זה היה כבר אומר לי משהו
-
כשהמשתנה הזה היה נכון, הייתי יודעת שהמאפינס כרגע באפייה (the muffins are baking).
-
ואל תשאלו אותי אילו מאפינס, זה לא חשוב.
-
בואו נחזור רגע ל״אם המספר נמוך מ-50״.
-
מגניב.
-
בואו נסתכל על כמה ביטויים בוליאנים נוספים.
-
כבר ראיתם את ״גדול מ״ ו״קטן מ״.
-
אבל אפשר גם לבדוק אם משהו ״קטן או שווה למשהו״ באמצעות הסימן =>
-
אז בואו ננסה, אם המספר קטן או שווה ל-48,
-
ואנחנו גם יכולים להגיד, אם המספר גדול או שווה ל-48, באמצעות הסימן =<.
-
אם זה כך, נצייר את האליפסה העליונה הימנית.
-
ניישר את זה.
-
ואם תרצו לבדוק אם שני דברים שווים בדיוק אחד לשני, תוכלו להגיד:
-
אם המספר === 48, או בקוד: if number === 48.
-
שזה לפחות שני סימני שווה יותר ממה שהשתמשתם בהם במתמטיקה,
-
עכשיו יש לכם שלושה בשורה.
-
זה קצת מוגזם לא?
-
אפשר גם לבדוק אם משהו לא שווה למשהו,
-
אם זה בהחלט לא שווה, אז אפשר לכתוב ״אם המספר ==! 48״ או בקוד: if number !== 48.
-
ואז נצייר את האליפסה האחרונה.
-
אוקיי, אז אם נחזור רגע להתחלה, יש לנו מספר שהוא 48,
-
שהוא גם ״שווה או קטן״ ל-48, ולכן האליפסה השמאלית העליונה מצויירת.
-
הוא גם ״גדול או שווה״ ל-48, הוא גם שווה ל-48
-
אבל הוא לא ״לא שווה״ ל-48, ולכן חסרה לנו האליפסה הימנית התחתונה.
-
ואם נשחק עם המספר קצת, נוכל את השינויים באליפסות שמצויירות.
-
ועכשיו אתם מכירים בוליאנים!
-
ובדיוק כמו ביטויים מתמטיים, ביטויים בוליאנים יכולים להיות מאוד מסובכים.
-
אבל נדבר על זה כבר בפעם אחרת. בהצלחה!