التنسيق باستخدام sprintf()
جزء من قسم المنطق وتدفق التنفيذ في رحلة R على Coddy. الدرس 2 من 64.
sprintf() تنشئ سلسلة نصية من قالب. يُستبدل كل عنصر نائب من نوع % بالوسيط التالي: %s للنصوص، و%d للأعداد الصحيحة، و%f للأعداد العشرية.
name <- "Ada"
age <- 36
print(sprintf("%s is %d years old", name, age))المخرجات:
[1] "Ada is 36 years old"يقبل %d الأعداد الصحيحة فقط: يتوقف sprintf("%d", 2.5) مع ظهور خطأ.
تحدّد الدقّة بين % وf عدد المنازل العشرية، لذا تُقرّب %.2f إلى منزلتين:
total <- 3 * 4.5 * 1.2
print(sprintf("Total: %.2f", total))الناتج:
[1] "Total: 16.20"يُكمّل العرض القيمة إلى ذلك العدد من الأحرف: %5d يُكمل من اليسار، و%-6s يُكمل من اليمين، و%03d يُكمل بالأصفار. تطبع %% علامة النسبة المئوية.
print(sprintf("[%5d]", 42))
print(sprintf("[%-6s]", "tea"))
print(sprintf("%03d", 7))
print(sprintf("%d%%", 85))الناتج:
[1] "[ 42]"
[1] "[tea ]"
[1] "007"
[1] "85%"sprintf() دالة متجهة: مع الوسائط المتجهة تُرجع سلسلة نصية واحدة لكل عنصر. تطبع cat() مع sep = "\n" كل سلسلة نصية في سطرها الخاص.
items <- c("tea", "cake")
prices <- c(4, 12.5)
lines <- sprintf("%-5s %6.2f", items, prices)
cat(lines, sep = "\n")الناتج:
tea 4.00
cake 12.50التحدي
سهلأكمل receipt_line(item, qty, price). أعد العنصر والكمية وإجمالي السطر (qty * price) بالصيغة tea x3 = 13.50: العنصر، ثم مسافة، ثم x متبوعة بالكمية، ثم = والإجمالي بمنزلتين عشريتين تمامًا.
يقرأ الكود المزوَّد العنصر والكمية والسعر (واحدًا في كل سطر) ويطبع القيمة المُعادة.
جرّب بنفسك
receipt_line <- function(item, qty, price) {
# اكتب الكود الخاص بك هنا
""
}
# كود الإدخال/الإخراج المُزوَّد: أبقه كما هو
input <- suppressWarnings(readLines(file("stdin")))
cat(receipt_line(input[1], as.integer(input[2]), as.numeric(input[3])), sep = "\n")
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1السلاسل النصية بعمق
السلاسل الفرعية باستخدام substr()التنسيق باستخدام sprintf()التقسيم والضمالبحث في السلاسل النصيةاستبدال النصوصمراجعة - منشئ اسم المستخدم4المصفوفات
إنشاء المصفوفاتفهرسة المصفوفاتملخصات الصفوف والأعمدةالحساب على المصفوفاتمراجعة - مخطط المقاعد2استرجاع القيم باستخدام المفاتيح
البحث في المتجهات المُسمّاةالتحقق من المفاتيحإضافة المفاتيح وإزالتهاالتكرار عبر الأسماءمراجعة - مكتب الأسهمتدرّب بنفسك: مترجم R عبر الإنترنت