Ebook Studio

Topic 11

Topic 11

โค้ด Ruby ใช้ร่วมจากโฟลเดอร์ en/ ของต้นฉบับ เพื่อให้สองภาษาผูกกับชุดทดสอบเดียวกัน

ภาพรวม

ทำไมหัวข้อนี้จึงสำคัญ

งานกับ CSV โผล่ขึ้นมาในซอฟต์แวร์สายธุรกิจตลอดเวลา ทั้งการ import, export, รายงาน ฝั่งแอดมิน และการส่งต่อข้อมูลระหว่างระบบ หัวข้อนี้จึงอยากให้ผู้เรียนมองงาน CSV เป็น งานข้อมูลขนาดเล็กที่มีลำดับชัด: อ่านข้อมูล เขียนข้อมูล แล้วค่อยค้นหามันผ่าน service ที่ โฟกัสงานเดียว

สิ่งที่ผมอยากให้คุณทำได้เมื่อจบหัวข้อนี้

เมื่อจบหัวข้อนี้ คุณควรจะ:

จุดที่ผมใช้ดูความเข้าใจ

ผมอยากให้คุณอธิบายได้ว่าทำไมการเข้าถึงไฟล์กับ logic การค้นข้อมูล จึงไม่ควรถูกรวมไว้ใน method ใหญ่อันเดียว

โน้ตสั้น

หลายคนเริ่มต้นมอง CSV เป็นงาน utility ง่าย ๆ แค่ว่า "เปิดไฟล์แล้ววนอ่านทีละบรรทัด" มุมมองนั้นแคบเกินไป งาน CSV มักมีความกังวลอยู่สามชั้น:

Ruby ทำงานกับเรื่องนี้ได้สบาย เพราะ:

จุดที่ Ruby ทำได้ดีในหัวข้อนี้:

จุดที่ต้องระวังในหัวข้อนี้:

คำถามชวนคิด:

ตัวอย่างแบบลงมือดู

Example 1: นำเข้า inventory จากไฟล์ CSV

การนำเข้า inventory เป็นตัวอย่างสอนที่ดี เพราะโครงสร้างของไฟล์เข้าใจง่าย และผลลัพธ์ก็ แปลงเป็น arrays ของ hashes ได้ตรงไปตรงมา

reader . load ( "inventory.csv" ) # => [{ "sku" => "B100" , "name" => "Ruby Book" , "price" => "30" , "category" => "books" }] worked_examples.md ruby นี่เป็น sprint แรกที่ดี เพราะมันแยกการอ่านไฟล์ออกจาก business logic ที่จะตามมา

Example 2: ค้นข้อมูลที่นำเข้าแล้ว

พอโหลดแถวข้อมูลเข้ามาแล้ว ทีมก็มักถามคำถามแบบนี้ต่อ:

เหตุผลที่ตัวอย่างนี้มีประโยชน์:

โพยสั้น