מדריך מהיר להחזרת מפה בגרובי

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.


$config[zx-auto] not found$config[zx-overlay] not found