יום רביעי, 20 באוקטובר 2010

The Marker

בפוסטים הקרובים אתייחס לחידושים ב-MATLAB בגרסת R2010b, אשר יצאה בתחילת חודש ספטמבר ומכילה יכולות חדשות ב-MATLAB ו-Simulink, וכן עדכונים ל-85 מוצרים אחרים, וביניהם כלי PolySpace עבור וריפיקציה של קוד. החידוש הראשון בו אעסוק הינו Editor highlighting, והוא מאוד שימושי כאשר רוצים לדעת היכן עושים שימוש במשתנה מסוים, ובמיוחד כשיש כמה nested functions בתוך הקוד ורוצים לדעת אם משתנה מסוים נגיש רק ל-nested function מסויימת (משתנה מקומי) או לעוד nested functions ואולי אפילו לפונקציה הראשית (משתנה גלובלי).
Editor highlighting משמש גם לאיתור השימוש ב-nested functions עצמן ולאיתור השימוש ב-subfunctions (כלומר – לא מדובר רק באיתור שמות משתנים, אלא גם באיתור שמות פונקציות).

במקרה של ריבוי MATLAB - nested functions  צובע בצבע (שאינו שחור...) את כל המופעים של המשתנה (וניתן גם לקבל הסברים לגבי משמעות הצבע שנבחר).

במקרה של ריבוי שימושים במשתנה כלשהו בפונקציה פשוטה – קליק על מופע אחד של המשתנה יאיר אותו ואת כל יתר המופעים, וכן יהיו סימונים בצד ימין של ה-editor (כמו הסימונים הכתומים והאדומים של ה-m-lint, אבל הפעם – בצבע אפור).

אם הפונקציה אינה פשוטה – יתקבל גם חיווי לגבי המספר הכולל של המופעים, בשורת הססטוס (צד שמאל למטה, ליד תפריט Start של MATLAB).

ניווט בין המופעים השונים מתאפשר על ידי לחיצה על הסימונים בצד ימין של ה-editor או על ידי חץ למעלה + Alt (למופע הקודם) או חץ למטה + Alt (למופע הבא).

ביטול המירקורים – על ידי Esc או על ידי הקלקה עם העכבר במקום אחר.
למי שהפיצ'ר החדש מעצבן אותו – ניתן לבטל אותו ע"י

file -->Preferences --> Colors --> Programming Tools

והורדת ה-V מה-checkbox של Automatically highlight:

אם מי שביטל ירצה להתחרט כאשר ימצא את עצמו בעתיד רוצה לדעת היכן מופיע משתנה מסוים, הוא תמיד יוכל לעמוד על המשתנה וללחוץ Ctrl+Shift+h או קליק ימני ואז Highlight usages.
 
האם אתם יודעים מה ההבדלים בין סוגי הפונקציות שהוזכרו
(nested functions, subfunctions) ?
אילו עוד סוגים של פונקציות אתם מכירים? האם הספקתם לשים לב לחידושים אחרים בגרסת ה-MATLAB החדשה ?