"מה הדרך הטובה ביותר לשלב מערכים? שאלה זו די מעורפלת ויכולה להיות כמה דברים שונים.
שרשור
שרשור הוא לצרף דבר אחד למשנהו. לדוגמה, שרשור המערכים [1,2,3] ו [4,5,6] יתן לך [1,2,3,4,5,6]. ניתן לעשות זאת בכמה דרכים ב- רובי.
הראשון הוא מפעיל הפלוס. זה יצרף אחד מערך עד הסוף של אחר, יצירת מערך שלישי עם האלמנטים של שניהם.
לחלופין, השתמש ב- קונצרט שיטה (מפעיל + ושיטת concat שוות ערך לתפקוד).
אם אתה מבצע הרבה פעולות אלה, מומלץ להימנע מכך. יצירת אובייקטים אינו חופשי, וכל אחת מהפעולות הללו יוצרת מערך שלישי. אם ברצונך לשנות מערך במקום, מה שמאריך אותו עם אלמנטים חדשים תוכל להשתמש במפעיל <<.>
במקום הצפוי [1,2,3,4,5,6] מערך שאנחנו מקבלים [1,2,3,[4,5,6]]. זה הגיוני, מפעיל התוספת לוקח את האובייקט שאתה נותן לו ומוסיף אותו לסוף המערך. לא ידוע ולא דאגה שניסית להוסיף מערך אחר למערך. כך שנוכל לעקוף את זה בעצמנו.
הגדר פעולות
ניתן להשתמש בעולם "לשלב" גם לתיאור פעולות הקבוצות. הפעולות הבסיסיות של הצמתים, האיחוד והשוני זמינים ברובי. זכור ש"סטים "מתארים קבוצה של אובייקטים (או במתמטיקה, מספרים) הייחודיים בקבוצה זו. לדוגמה, אם היית מבצע פעולה מוגדרת במערך
[1,1,2,3] רובי יסנן את אותה 1 שנייה, למרות שייתכן ש- 1 נמצא בסט שהתקבל. אז שימו לב שפעולות הגדרת אלה שונות מפעולות רשימה. ערכות ורשימות הן דברים שונים במהותה.אתה יכול לקחת איחוד של שתי מערכות באמצעות ה- | מפעיל. זהו המפעיל "או", אם אלמנט נמצא בקבוצה כזו או אחרת, זה בסט שהתקבל. אז התוצאה של [1,2,3] | [3,4,5] הוא [1,2,3,4,5] (זכרו שלמרות שיש שתי שלשות, מדובר בפעולה מוגדרת ולא בפעולה ברשימה).
הצומת של שני סטים הוא דרך נוספת לשלב שני סטים. במקום פעולה "או", הצומת של שתי מערכות הוא פעולה "ו-". האלמנטים של התוצאה שהתקבלו הם אלו שב שניהם סטים. בהיותנו פעולה "ו-" אנו משתמשים במפעיל &. אז התוצאה של [1,2,3] & [3,4,5] זה פשוט [3].
לבסוף, דרך נוספת "לשלב" שתי סטים היא לקחת את ההבדל ביניהם. ההבדל בין שתי קבוצות הוא הסט של כל האובייקטים בסט הראשון שהוא לא במערכה השנייה. כך [1,2,3] - [3,4,5] הוא [1,2].
רוכסן
סוף סוף יש "רוכסן". ניתן לרוכס שני מערכים יחד ומשלבים אותם בצורה די ייחודית. עדיף פשוט להראות את זה קודם, ולהסביר אחריו. התוצאה של [1,2,3] .zip ([3,4,5]) הוא [ [1,3], [2,4], [3,5] ]. אז מה קרה כאן? שני המערכים שולבו, כאשר האלמנט הראשון היה רשימה של כל האלמנטים במיקום הראשון של שני המערכים. רוכסן הוא פעולה קצת מוזרה וייתכן שלא תמצאו בו שימוש רב. מטרתו לשלב שני מערכים שיסודותיהם מתואמים זה בזה.