ผลต่างระหว่างรุ่นของ "418342 ภาคปลาย 2552/ปฏิบัติการที่ 3"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 35: แถว 35:
 
ถ้าคุณต้องการสร้าง instance ของคลาส RatNum ที่แทนจำนวน 17/3 คุณสามารถสร้างมันขึ้นมาอย่างใดได้บ้าง?
 
ถ้าคุณต้องการสร้าง instance ของคลาส RatNum ที่แทนจำนวน 17/3 คุณสามารถสร้างมันขึ้นมาอย่างใดได้บ้าง?
 
</blockquote>
 
</blockquote>
 +
 +
หลังจากตอบคำถามที่ 2 และ 3 แล้วให้คุณเปิดไฟล์ RatNum.rb ขึ้นมาดู แล้วศึกษาวิธีการเขียนเมธอดต่างๆ โดยเฉพาะเมธอด +, -, *, /, -@, และ initialize
 +
 +
ภาษา Ruby มีไลบรารีสำหรับการทำ unit testing ติดมาพร้อมกับตัวภาษาเลย คุณสามารถ run unit test ของคลาส RatNum ได้ด้วยการ run คำสั่ง
 +
ruby test_RatNum.rb
 +
คุณจะพบว่าเมื่อ run unit test แล้วจะ run ผ่านทั้งหมด
 +
 +
ต่อไปให้คุณเปิดไฟล์​ TestRatNum.rb ขึ้นมาอ่านเพื่อศึกษาว่า unit test ของภาษา ruby เขียนขึ้นมาได้อย่างไร คุณสามารถหารายละเอียดเพิ่มเติมของการสร้าง unit test ในภาษา Ruby ได้ที่ [http://ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html http://ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html]

รุ่นแก้ไขเมื่อ 17:22, 19 พฤศจิกายน 2552

ในปฏิบัติการที่สามนี้คุณจะได้เขียนคลาสสำหรับจัดการพหุนามที่มีสัมประสิทธิ์เป็นจำนวนตรรกยะ นอกจากนี้ยังจะได้เรียนรู้เรื่องการใช้เครื่องมือสร้าง documetation ชื่อ RDOC และการเขียนใช้ unit testing ในภาษา Ruby ด้วย

Clone, Pull, และ Update

ถ้าเครื่องคุณยังไม่มี repository ส่วนตัวของคุณ ให้คุณทำการ clone repository ของตัวเองจาก

https://theory.cpe.ku.ac.th/418342_<<ชื่อ account เกษตรของคุณ>>

หลังจากนั้นให้ทำการ pull จาก master repository โดยสั่ง

hg pull https://theory.cpe.ku.ac.th/418342_master

คุณอาจจะพบว่า pull มาแล้วอาจจะเกิด conflict ซึ่งถ้าเกิดเหตุการณ์เช่นนี้ ให้คุณสั่ง

hg merge

แล้วจึงสั่ง

hg commit

แล้วจึง update ด้วยการสั่ง

hg update

คุณจะพบว่าใน repository ของตัวเองจะมี directory ชื่อ lab-03 อยู่

สร้าง API Documentation ด้วย RDOC

RDOC เป็นเครื่องมีใช้สร้าง API documentation ของภาษา Ruby ซึ่งมีลักษณะคล้ายๆ กับ javadoc ให้คุณเข้าไปใน directory ชื่อ lab-03 ที่เพิ่งถูก pull เข้ามาใหม่

cd lab-03

แล้วจึีงสั่ง

rdoc RatNum.rb RatTerm.rb RatPoly.rb --all

คุณจะเห็นว่า RDOC จะทำการสร้าง directory ชื่อ doc ขึ้นใน directory lab-03 ให้คุณเข้าไปสำรวจ directory นี้ แล้วเปิดไฟล์ชื่อ index.html ในเบราเซอร์ที่คุณชอบ

คำถามที่ 1

ใน ​API documentation ที่สร้างขึ้นมามีคลาสอะไรปรากฏอยู่บ้าง? คลาส String เป็นคลาสที่ใช้ทำอะไร? ทำไมมีเมธอดแค่ 3 เมธอดในคลาสสตริง​? จริงๆ แล้วคลาส String มีเมธอดแค่ 3 เมธอดนี้หรือเปล่า? ในภาษา Java หรือ C# คุณจะสามารถทำอย่างนี้กลับคลาส String ได้หรือไม่? เพราะอะไร?

RatNum

คำถามที่ 2

ให้อ่าน API ของคลาสที่ชื่อ RatNum คลาสนี้มีไว้ทำอะไร? มันมีฟีลด์อยู่กี่ฟีลด์และแต่ละฟีลด์แทนค่าอะไร?

คำถามที่ 3

ถ้าคุณต้องการสร้าง instance ของคลาส RatNum ที่แทนจำนวน 17/3 คุณสามารถสร้างมันขึ้นมาอย่างใดได้บ้าง?

หลังจากตอบคำถามที่ 2 และ 3 แล้วให้คุณเปิดไฟล์ RatNum.rb ขึ้นมาดู แล้วศึกษาวิธีการเขียนเมธอดต่างๆ โดยเฉพาะเมธอด +, -, *, /, -@, และ initialize

ภาษา Ruby มีไลบรารีสำหรับการทำ unit testing ติดมาพร้อมกับตัวภาษาเลย คุณสามารถ run unit test ของคลาส RatNum ได้ด้วยการ run คำสั่ง

ruby test_RatNum.rb

คุณจะพบว่าเมื่อ run unit test แล้วจะ run ผ่านทั้งหมด

ต่อไปให้คุณเปิดไฟล์​ TestRatNum.rb ขึ้นมาอ่านเพื่อศึกษาว่า unit test ของภาษา ruby เขียนขึ้นมาได้อย่างไร คุณสามารถหารายละเอียดเพิ่มเติมของการสร้าง unit test ในภาษา Ruby ได้ที่ http://ruby-doc.org/stdlib/libdoc/test/unit/rdoc/classes/Test/Unit.html