קריאת קלט באמצעות readline()
חלק מהיחידה יסודות במסלול ה-R של Coddy. שיעור 29 מתוך 78.
עד כה למדת איך להציג פלט. עכשיו הגיע הזמן להפוך את התוכניות שלך לאינטראקטיביות באמצעות קריאת קלט מהמשתמש. הפונקציה readline() מאפשרת לך לקלוט את מה שהמשתמש מקליד.
name <- readline()
cat("Hello,", name, "\n")כאשר הקוד הזה רץ, R ממתינה שהמשתמש יקליד משהו וילחץ על Enter. כל מה שהוא מקליד נשמר במשתנה name. אם המשתמש מקליד "Alice", הפלט יהיה: Hello, Alice
חשוב לדעת דבר אחד: readline() תמיד מחזירה מחרוזת תווים, גם אם המשתמש מקליד מספר. אם מישהו מזין "25", הערך נשמר כטקסט "25", ולא כמספר 25. בשיעור הבא תלמדו איך להמיר בין טיפוסים.
אפשר לקרוא כמה קלטים באמצעות שימוש ב-readline() כמה פעמים:
first <- readline()
second <- readline()
cat("First:", first, "\n")
cat("Second:", second, "\n")כל קריאה ל־readline() ממתינה לשורת קלט נפרדת מהמשתמש.
כשמשלבים טקסט עם משתנים באמצעות cat(), בין כל פריט שמופרד בפסיק מופיע רווח. לפעמים צריך לחבר טקסט בלי רווח, למשל כדי להצמיד סימן פיסוק ישירות למילה. כאן paste0() שימושית. היא משרשרת מחרוזות ללא מפריד ביניהן:
city <- readline()
cat("Welcome to", paste0(city, "!"), "\n")כאן, paste0(city, "!") מחברת את הערך של city ואת "!" יחד ללא רווח, כך שאם המשתמש מקליד "Paris", הפלט הוא: Welcome to Paris!
אתגר
קלקרא שתי שורות קלט והצג הודעת ברכה אישית.
יתקבלו שני קלטים:
- שם פרטי
- שם של עיר
קרא את שני הקלטים באמצעות readline() והצג הודעה בתבנית הבאה:
Welcome, [name] from [city]!השתמש ב-cat() כדי להפיק את הפלט. הקפד לכלול סימן קריאה בסוף ותו מעבר שורה \n.
לדוגמה, אם הקלטים הם Emma ו-Paris, הפלט צריך להיות:
Welcome, Emma from Paris!נסו בעצמכם
# קראו את הקלט
con <- file("stdin", "r")
name <- suppressWarnings(readLines(con, n = 1))
city <- suppressWarnings(readLines(con, n = 1))
# TODO: כתבו את הקוד שלכם למטה כדי להציג את הודעת הברכה
# השתמשו ב-cat() כדי להדפיס: ברוכים הבאים, [name] מ-[city]!
# אל תשכחו את תו השורה החדשה \n בסוףהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים (AND, OR)אופרטורים לוגיים חלק 2 (NOT)חזרה – לוגיקה פשוטהלוגיקה וקטורית חלק 1לוגיקה וקטורית חלק 27מחשבון לחלוקת החשבון
הודעת פתיחהקבלת קלט מהמשתמש2משתנים וסוגי נתונים
סוג נתונים מספריסוג נתונים שלמיםסוג נתונים של תוויםסוג נתונים לוגיבדיקת סוגי נתוניםמוסכמות למתן שמותערכים חסרים: NAסיכום – יצירת משתנים8לולאות
לולאת forלולאת whileפקודת breakהמשך (continue)סיכום – עצרתיצירת רצפים (seq, :)לולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםחלוקת מספרים שלמים ומודולואופרטורי השמהחזרה – חשבון פשוטאופרטורי השוואה6קלט/פלט בסיסי
הדפסת פלטחתול כפלטפלט עם משתניםקריאת קלט באמצעות readline()יסודות המרת טיפוסיםחזרה – מחשבון גילחזרה – אמת או שקר9פונקציות
הכרזה על פונקציהארגומנטים של פונקציהערכי החזרהסיכום – פונקציית סיגמאסיכום – פונקציית אימותערכי ברירת מחדל לפרמטריםתרגלו בעצמכם: קומפיילר R אונליין