מדריך מהיר להחזרת מפה בגרובי
1. הקדמה
במדריך קצר זה, נבחן דרכים לחזור על מפה בגרובי באמצעות תכונות שפה סטנדרטיות כמו כל אחד, eachWithIndex, ו ב לוּלָאָה.
2. ה כל אחד שיטה
בואו נדמיין שיש לנו את המפה הבאה:
def map = ['FF0000': 'אדום', '00FF00': 'ליים', '0000FF': 'כחול', 'FFFF00': 'צהוב']
אנו יכולים לחזור על המפה על ידי מתן כל אחד שיטה עם סגירה פשוטה:
map.each {println "קוד הקס: $ it.key = שם צבע: $ it.value"}
אנו יכולים גם לשפר את הקריאות מעט על ידי מתן שם למשתנה הכניסה:
map.each {entry -> println "קוד הקס: $ entry.key = שם צבע: $ entry.value"}
לחלופין, אם אנו מעדיפים להתייחס למפתח ולערך בנפרד, אנו יכולים לרשום אותם בנפרד בסגירתנו:
map.each {key, val -> println "קוד הקס: $ key = שם צבע $ val"}
בגרובי מסודרים מפות שנוצרו עם הסימון המילולי. אנו יכולים לצפות שהתפוקה שלנו תהיה באותו סדר כפי שהגדרנו במפה המקורית שלנו.
3. ה eachWithIndex שיטה
לפעמים אנחנו רוצים לדעת את אינדקס בזמן שאנחנו חוזרים.
לדוגמה, נניח שאנחנו רוצים להכניס כל שורה אחרת במפה שלנו. כדי לעשות זאת בגרובי, נשתמש ב- eachWithIndex שיטה עם כְּנִיסָה ו אינדקס משתנים:
כניסה map.eachWithIndex, index -> def indent = ((index == 0
כמו עם כל אחד בשיטה, אנו יכולים לבחור להשתמש ב- מַפְתֵחַ ו ערך משתנים בסגירה שלנו במקום כְּנִיסָה:
map.eachWithIndex key, val, index -> def indent = ((index == 0
4. באמצעות א ב לוּלָאָה
מצד שני, אם מקרה השימוש שלנו מתאים יותר לתכנות הכרחיות, נוכל גם להשתמש ב- ב הצהרה לחזור על המפה שלנו:
עבור (ערך במפה) {println "קוד הקס: $ entry.key = שם צבע: $ entry.value"}
5. מסקנה
במדריך קצר זה למדנו כיצד לאתחל מפה באמצעות גרובי כל אחד ו eachWithIndex שיטות ו ב לוּלָאָה.
קוד הדוגמה זמין ב- GitHub.