סיכום – צינור נתונים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-R של Coddy. שיעור 36 מתוך 64.
אתגר
קשההשלימו את sales_report(records). כל רשומה היא item:quantity:price. בנו את הדוח בשלושה שלבים:
- נתחו את הרשומות לרשימה באמצעות
lapply(). - השאירו את הרשומות שהכמות בהן גדולה מ־0 באמצעות
Filter(). - חשבו את הסכום של כל שורה שנותרה (כמות כפול מחיר) באמצעות
sapply(), ואת הסכום הכולל באמצעותReduce().
החזירו שורה אחת לכל רשומה שנותרה, tea: 8.00, ואז Total: עם הסכום הכולל ו־Skipped: עם מספר הרשומות שהכמות בהן הייתה 0. הציגו את הסכומים בשתי ספרות אחרי הנקודה העשרונית.
הקוד שסופק קורא את הרשומות כשורה המופרדת בפסיקים ומדפיס כל שורה שהוחזרה.
נסו בעצמכם
sales_report <- function(records) {
# כתבו כאן את הקוד שלכם
character(0)
}
# קוד קלט/פלט שסופק: השאירו אותו כפי שהוא
input <- suppressWarnings(readLines(file("stdin")))
cat(sales_report(strsplit(input[1], ",")[[1]]), sep = "\n")
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מחרוזות לעומק
תת־מחרוזות עם substr()עיצוב עם sprintf()פיצול וחיבורחיפוש במחרוזותהחלפת טקסטסיכום – בונה שמות משתמש4מטריצות
יצירת מטריצותאינדוקס מטריצותסיכומי שורות ועמודותאריתמטיקה של מטריצותסיכום – תרשים מקומות ישיבהתרגלו בעצמכם: קומפיילר R אונליין