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

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 16: แถว 16:
  
 
== แบบฝึกหัด 2 ==
 
== แบบฝึกหัด 2 ==
 +
<blockquote>
 +
จงสร้าง class Cat ที่สืบทอดมาจาก class Animal โดยให้เพิ่ม method ที่มีชื่อว่า sleep เข้าไปใน class Cat นี้ และให้ใส่คำสั่ง puts ไว้ใน sleep เพื่อแสดงข้อความว่า "I'm sleeping"
 +
</blockquote>
 +
    class Animal
 +
      def eat thing
 +
          puts "I'm eating #{thing}"
 +
      end
 +
    end
  
 
<blockquote>
 
<blockquote>
 +
=== แนะนำ ===
 +
Ruby กำหนดการสืบทอดโดยใช้เครื่องหมาย < ดังลักษณะการใช้ข้างล่างนี้
 
</blockquote>
 
</blockquote>
 +
    class B < A  # เป็นการกำหนดให้ B เป็น subclass ของ A
 +
    end

รุ่นแก้ไขเมื่อ 21:00, 12 พฤศจิกายน 2552

แบบฝึกหัด 1

หากเรามีข้อมูลตัวเลขจำนวนเต็มบวกที่ถูกเก็บอยู่ในอะเรย์ 2 ชุดซึ่งมีขนาดเท่ากัน ให้ลองเขียนโค้ด ruby ที่ทำการบวกข้อมูลตัวเลขที่อยู่ในอะเรย์ทั้ง 2 ดังลักษณะที่ปรากฏข้างล่างนี้ โดยให้ผลลัพธ์ของการบวกนี้ไปเก็บในอะเรย์อีกชุดนึง

  [ 20  40  10  61  .............. ]  <- อะเรย์ชุดที่ 1
+ [ 15  35   0  31  .............. ]  <- อะเรย์ชุดที่ 2
----------------------------------------
  [ 35  75  10  92  .............. ]  <- อะเรย์ผลลัพธ์

แนะนำ

โค้ดด้านล่างนี้สามารถสร้างเลขจำนวนเต็มที่อยู่ระหว่าง 0-99 จำนวน 20 ตัวไว้ในอะเรย์ arr

   arr = []
   20.times { arr << rand(100) }

แบบฝึกหัด 2

จงสร้าง class Cat ที่สืบทอดมาจาก class Animal โดยให้เพิ่ม method ที่มีชื่อว่า sleep เข้าไปใน class Cat นี้ และให้ใส่คำสั่ง puts ไว้ใน sleep เพื่อแสดงข้อความว่า "I'm sleeping"

   class Animal
      def eat thing
         puts "I'm eating #{thing}"
      end
   end

แนะนำ

Ruby กำหนดการสืบทอดโดยใช้เครื่องหมาย < ดังลักษณะการใช้ข้างล่างนี้

   class B < A  # เป็นการกำหนดให้ B เป็น subclass ของ A
   end