Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: b8b08cab82
Fetching contributors…

Cannot retrieve contributors at this time

387 lines (259 sloc) 8.581 kB
0:00:04.029,0:00:08.730
שלום וברוכים השבים לערוץ שלי
הפעם אני הולך להראות לכם
איך להשתמש בדיבאגר
0:00:08.730,0:00:10.989
המובנה של פרל
0:00:10.989,0:00:12.389
כ- REPL (Read Eval Print Loop)
0:00:12.389,0:00:15.339
אז לא ממש לדבג סקריפט של פרל
0:00:15.339,0:00:19.559
אלא לחקור איך פרל עובדת
0:00:19.559,0:00:22.019
אז נלך לשורת הפקודה
0:00:22.019,0:00:24.060
כמו שאתם יודעים אנחנו יכולים להקליד
perl -e 'print 42'
0:00:24.060,0:00:28.079
ואחר כך קצת קוד של פרל
0:00:28.079,0:00:31.939
אם מריצים את זה נראה שיודפס על המסך 42
0:00:31.939,0:00:35.380
באותה דרך אפשר לתת 1
0:00:35.380,0:00:37.040
בתור הערך perl -e 1
0:00:37.040,0:00:40.660
שזה פשוט להכניס סקריפט של פרל
ואם מריצים את זה
0:00:40.660,0:00:41.770
כלום לא קורה
0:00:41.770,0:00:45.090
מה שאפשר לעשות זה לדבג את זה
0:00:45.090,0:00:47.120
עם ‪-‬d
0:00:47.120,0:00:52.770
ואז לפתוח את הדיבאגר אבל אפשר
לשים את זה גם עם flex
0:00:52.770,0:00:57.420
בשורת הפקודה אבל אנשים בדרך כלל עושים
-de1
0:00:57.420,0:00:58.750
ואז כשאני מריץ את זה
0:00:58.750,0:01:04.360
זה פותח לי את הדיבאגר ומריץ את
0:01:04.360,0:01:05.540
הסקריפט הריק ואז
0:01:05.540,0:01:10.080
אנחנו יכולים לרשום פה כל פקודת פרל
או להשתמש בכלים בדיבאגר
0:01:10.080,0:01:12.299
אז לדוגמא אני יכול לרשום print 42
0:01:12.299,0:01:16.230
ולהדפיס את המספר 42
0:01:16.230,0:01:19.920
או שאפשר לאמר ‪$‬x שווה ל-42
0:01:19.920,0:01:23.940
ואז לבצע השמה לערך 42 לתוך המשתנה
0:01:23.940,0:01:24.910
לאחר מכן אני יכול להשתמש
0:01:24.910,0:01:30.660
בפונקצית ההדפסה או להשתמש בפונקציה המובנית מראש
0:01:30.660,0:01:31.830
של הדיבאגר שהיא
0:01:31.830,0:01:36.040
p כדי להדפיס את אותו הערך
0:01:36.040,0:01:38.950
באותו דרך שביצעתי השמה לערך
אני יכול גם ליצור
0:01:38.950,0:01:42.350
מערך, לדוגמא
0:01:42.350,0:01:47.210
הנה השמות
0:01:47.210,0:01:48.900
Foo Bar ו‫-‬ Baz
0:01:48.900,0:01:52.740
ואז אני יכול להדפיס את השמות
0:01:52.740,0:01:54.540
עם פקודת הדפסה רגילה
0:01:54.540,0:01:57.550
אבל מובן שזה לא כל כך טוב,
זה לא נראה טוב
0:01:57.550,0:01:58.520
אני יכול לשים
0:01:58.520,0:02:00.659
מרכאות סביב השמות
0:02:00.659,0:02:04.420
זה נראה קצת יותר טוב כי יש רווחים
0:02:04.420,0:02:08.569
אבל כשמדפיסים בצורה הזאת זה לא ברור אם
0:02:08.569,0:02:14.869
‪@‬names
כולל שלושה איברים המופרדים ברווח או איבר
אחד עם רווחים
0:02:14.869,0:02:18.290
אז דרך טובה יותר לראות מה יש בתוך המערך
0:02:18.290,0:02:20.489
היא להשתמש בכלי ה-x
0:02:20.489,0:02:22.309
של
0:02:22.309,0:02:24.159
הדיבאגר
0:02:24.159,0:02:28.579
ולתת לו הפניה למערך
וכך זה מדפיס
0:02:28.579,0:02:32.429
את המקומות המציינים של המערך
0:02:32.429,0:02:36.439
ואת הערכים באותה הדרך שתיצור לו מפה מקשרת
0:02:36.439,0:02:44.799
אז יש לנו fname שזה Foo
0:02:44.799,0:02:45.949
וגם lname שזה Bar
בוא נגיד,
0:02:45.949,0:02:49.089
רק בשביל העקביות
0:02:49.089,0:02:53.709
ויש לנו מפה מקשרת בין המקומות לערכים
0:02:53.709,0:02:56.250
ואנחנו יכולים להדפיס את תוכן המפה הזאת
0:02:56.250,0:02:58.319
עם כלי ה‫-‬x
0:02:58.319,0:03:00.059
וזה ידפיס את ההפניה למפה המקשרת
0:03:00.059,0:03:04.649
ואת המפתחות
0:03:04.649,0:03:05.629
והערכים המתאימים
0:03:05.629,0:03:06.859
0:03:06.859,0:03:09.170
אפשר גם לעשות דברים אחרים לדוגמא
0:03:09.170,0:03:10.419
אתם יכולים
0:03:10.419,0:03:13.159
לשחק עם זה, לגלות איך
0:03:13.159,0:03:16.029
פונקציית ה-push עובדת
0:03:16.029,0:03:20.669
רשמו push @names, 'Moose' ואז
0:03:20.669,0:03:23.479
חוזרים חזרה
0:03:23.479,0:03:27.659
ומדפיסים את תוכך המערך,
ולמעשה אפשר לראות
0:03:27.659,0:03:31.079
שהמערך הזה
0:03:31.079,0:03:34.759
נהיה ארוך יותר והוספנו לו ערך
0:03:34.759,0:03:38.729
אז אפשר לחקור ולגלות עוד על פרל בתוך הדיבאגר
0:03:38.729,0:03:42.869
ולפעמים להשתמש בפקודות של פרל ולפעמים
0:03:42.869,0:03:44.270
בכלים של הדיבאגר
0:03:44.270,0:03:47.089
כמו print ו x
0:03:47.089,0:03:51.399
אתם גם יכולים להשתמש במודול מכאן ואז
אפשר להגיד: 'use Cwd'
0:03:51.399,0:03:52.319
לדוגמא
0:03:52.319,0:03:55.040
זה ישתמש ויטען את המודול
0:03:55.040,0:03:58.969
עם כל הפונקציות ואז אפשר לקרוא
0:03:58.969,0:04:00.810
cwd לפונקציה שלו
0:04:00.810,0:04:03.109
ומובן שרק לקרוא לפונקציה לא
0:04:03.109,0:04:06.259
מראה כלום כי ההרצה מחזירה את הערך
0:04:06.259,0:04:09.549
אז אם רוצים לראות את הערך המוחזר אפשר לכתוב
p cwd
0:04:09.549,0:04:14.909
ידפיס את התוצאה שזהו המסלול הנוכחי
0:04:14.909,0:04:16.920
אפשר גם להשתמש במודול אחר
0:04:16.920,0:04:20.069
לדוגמא ב- basename
0:04:20.069,0:04:24.150
'use File::Basename'
0:04:24.150,0:04:29.889
ויש לזה פונקציית basename
0:04:29.889,0:04:33.740
שנקראת 'p basename(cwd)' ובואו ניתן את הערך של הפונקציה cwd כפרמטר
0:04:33.740,0:04:35.209
0:04:35.209,0:04:39.370
וזה מודפס החוצה
0:04:39.370,0:04:40.580
אני חייב
0:04:40.580,0:04:45.530
ללמוד איך לאיית ואז זה פשוט ידפיס את שם הבסיס של הנתיב
0:04:45.530,0:04:47.090
שהוא
0:04:47.090,0:04:50.299
החלק האחרון של הנתיב
0:04:50.299,0:04:54.259
אבל אם אני רוצה לראות איך זה עובד
0:04:54.259,0:04:55.099
אני יכול לשים נקודת עצירה
0:04:55.099,0:04:56.330
בפונקציה הזאת
0:04:56.330,0:04:59.909
אז אנחנו רוצים לשים נקודת עצירה בקובץ
0:04:59.909,0:05:02.059
File/Basename
0:05:02.059,0:05:03.449
פונקציית
0:05:03.449,0:05:04.620
שם הבסיס
0:05:04.620,0:05:09.019
ואז אם אני מריץ עוד פעם הנה האות b
0:05:09.019,0:05:11.050
ועכשיו אם אריץ עוד פעם את הקוד
0:05:11.050,0:05:13.169
הוא יעצור בנקודה הזאת
0:05:13.169,0:05:14.840
שהכנסנו לפונקצית
0:05:14.840,0:05:18.919
שם הבסיס של הקובץ
0:05:18.919,0:05:20.169
Basename class
0:05:20.169,0:05:25.050
שממומש בשורה 215 של הקובץ הזה
0:05:25.050,0:05:26.740
אפשר להסתכל על זה בעזרת ‪'‬l‪'‬
0:05:26.740,0:05:32.889
רואים את שאר הקוד או שאפשר לכתוב
0:05:32.889,0:05:35.910
'l 200-220'
0:05:35.910,0:05:37.789
0:05:37.789,0:05:39.830
ואפשר לראות
0:05:39.830,0:05:41.590
כמה שורות פה
0:05:41.590,0:05:43.020
שהן כנראה
0:05:43.020,0:05:47.719
לא חלק מהקוד ולכן הן
לא מודפסות, ואז את הפונקציה עצמה
0:05:47.719,0:05:49.229
ואיך היא עובדת
0:05:49.229,0:05:51.849
אז למעשה אפשר להשתמש
0:05:51.849,0:05:53.899
בכל כלי שתרצו
0:05:53.899,0:05:57.569
בתוך הדיבאגר ולחקור את פרל בצורה הזאת
0:05:57.569,0:05:59.409
ובסוף שימוש ב- 'q'
0:05:59.409,0:06:01.330
יצא מהדיבאגר
0:06:01.330,0:06:03.059
אם אהבתם את המדריך
0:06:03.059,0:06:04.680
הרשמו בבקשה לערוץ שלי
0:06:04.680,0:06:08.460
וחיזרו שוב מאוחר יותר
0:06:08.460,0:06:09.280
Jump to Line
Something went wrong with that request. Please try again.