เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

ปรับปรุงฟังก์ชันให้สมบูรณ์แบบ

เรายังคงพัฒนาฟังก์ชันสำหรับตรวจสอบว่า URL ในลิสต์มีรายการที่เข้าถึงไม่ได้หรือไม่

มาทบทวนสิ่งที่เขียนไปแล้ว:

  • ตัวดึงข้อผิดพลาด โดยใช้ safely() ร่วมกับ map(.x, "error")
  • ตัวดึงค่าที่ไม่ใช่ null โดยใช้ safely() ร่วมกับ discard(.x, is.null)
  • ตัวสร้างรหัส 404 โดยใช้ possibly(.x, otherwise = 404) ซึ่งถูกแปลงเป็นฟังก์ชัน

คราวนี้จะปรับพฤติกรรมของฟังก์ชันเล็กน้อย: ต้องการให้เลือกได้ว่าจะให้ฟังก์ชันคืนค่าผลลัพธ์หรือข้อผิดพลาด

สิ่งนี้จะช่วยให้ตอบคำถามได้สองข้อด้วยฟังก์ชันเดียว: URL ใดบ้างที่เข้าถึงไม่ได้ และ URL ใดบ้างที่เข้าถึงได้? โดยจะเพิ่มพารามิเตอร์ชื่อ "type" เข้าไปในฟังก์ชันนี้

เวกเตอร์ urls และฟังก์ชัน safe_read() พร้อมใช้งานใน workspace แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Functional Programming ระดับกลางด้วย purrr

ดูคอร์ส

คำแนะนำการฝึกหัด

เติมโค้ดในนิยามฟังก์ชันให้ครบถ้วน

  • Map safe_read() กับลิสต์ของ URL
  • กำหนดชื่อให้กับผลลัพธ์โดยใช้ลิสต์ของ URL
  • Transpose ผลลัพธ์ให้เป็นลิสต์ที่มี $result และ $error
  • ใช้ pluck() เพื่อดึงส่วนประกอบ type ออกมา

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Complete the function definition
url_tester <- function(url_list, type = c("result", "error")) {
  type <- match.arg(type)
  url_list %>%
    # Apply safe_read to each URL
    ___(___) %>%
    # Set the names to the URLs
    ___(___) %>%
    # Transpose into a list of $result and $error
    ___()  %>%
    # Pluck the type element
    ___(___) 
}

# Try this function on the urls object
url_tester(urls, type = "error") 
แก้ไขและรันโค้ด