Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

ฟังก์ชันและวิธีการของ Ruby:วิธีกำหนดตัวคุณเอง

วิธีรูบี้คืออะไร

วิธีการคือหนึ่งหรือหลายบรรทัดของรหัส Ruby ที่จัดกลุ่มเข้าด้วยกันเพื่อวัตถุประสงค์เฉพาะ

โค้ดที่จัดกลุ่มนี้ได้รับการตั้งชื่อเพื่อให้คุณสามารถใช้งานได้ทุกเมื่อที่ต้องการโดยไม่ต้องเขียนหรือคัดลอกและวางโค้ดอีกครั้ง

วัตถุประสงค์ของวิธีการคือเพื่อ :

  • รับข้อมูล
  • เปลี่ยนหรือสร้างวัตถุ
  • กรอง &จัดรูปแบบข้อมูล

ตัวอย่างที่ 1 :

size วิธีการใน Array วัตถุช่วยให้คุณนับองค์ประกอบ (รับข้อมูล)

ตัวอย่างที่ 2 :

pop วิธีการลบองค์ประกอบสุดท้ายออกจากอาร์เรย์ (เปลี่ยนวัตถุ)

เมื่อคุณเข้าใจความสัมพันธ์ระหว่างอ็อบเจกต์ คลาส และเมธอด ทุกอย่างเริ่มสมเหตุสมผล

ฟังก์ชันและวิธีการของ Ruby:วิธีกำหนดตัวคุณเอง

มาเรียนรู้กันต่อ!

วิธีการกำหนดวิธีการ

ภาษาการเขียนโปรแกรม Ruby มีวิธีการในตัวที่ทรงพลังมากมายที่คุณสามารถใช้ได้ แต่คุณยังสามารถสร้างของคุณเอง .

อย่างไร?

คุณสามารถกำหนดวิธีการอินสแตนซ์ของคุณเองได้โดยใช้ def คีย์เวิร์ด

นี่คือไวยากรณ์ :

def gimme_bacon
  puts "Bacon plz."
end

เกิดอะไรขึ้นที่นี่

  1. def เป็นส่วนหนึ่งของไวยากรณ์ของ Ruby มันบอกว่าเราต้องการ def เป็นวิธีการ
  2. gimme_bacon เป็นชื่อวิธี
  3. puts "Bacon plz." เป็นเนื้อความของวิธีการ
  4. end ถือเป็นจุดสิ้นสุดของนิยามเมธอด

การกำหนดวิธีการจะบอก Ruby ว่าคุณต้องการสร้างเท่านั้น

หากต้องการใช้ต้องเรียกใช้เมธอด

วิธีการโทรใน Ruby

ใน Ruby เมื่อเราใช้วิธีใด เราเรียกมันว่าเรากำลังเรียกมันว่า

คุณมักจะได้ยิน "เมธอด call" หรือถ้าคุณทำงานกับคนที่คลั่งไคล้ Object-Oriented คุณอาจได้ยินว่า "คุณกำลังส่งข้อความ"

ไม่ว่าจะด้วยวิธีใด…

มาดูตัวอย่างการใช้ method กัน

ไปเลย :

gimme_bacon

ภาพพิมพ์นี้ :

"Bacon plz."

คุณสามารถเรียกใช้เมธอดบนวัตถุได้

ตัวอย่างเช่น :

n = [1,2,3]

n.size
# 3

n.sizeนี้ กำลังเรียกเมธอด size บนวัตถุ n ซึ่งเป็น Array .

ผลลัพธ์?

เราได้ขนาดของอาร์เรย์

มีวิธีใดบ้าง

ขึ้นอยู่กับคลาสของวัตถุที่คุณเรียกใช้เมธอด

อาร์เรย์จะมีวิธีที่แตกต่างจากแฮช .

คุณสามารถตรวจสอบเอกสาร Ruby เพื่อค้นหารายการเมธอดสำหรับคลาสที่กำหนด

การคืนค่าจากเมธอด

แนวคิดหลักประการหนึ่งใน Ruby คือ ALL method คืนค่า

ให้ฉันอธิบาย!

เมื่อเรียกใช้เมธอด คุณจะได้บางอย่างกลับมา

“บางสิ่ง” ที่คุณได้รับมาจากนิพจน์สุดท้ายในนิยามเมธอดของคุณ

นี่คือสิ่งที่ฉันหมายถึง :

def number_one
  1
end

number_one
# 1

ตัวอย่างอื่น :

def add(x,y)
  x + y
end

add(5, 6)
# 11

เราเรียกสิ่งนี้ว่า "การส่งคืนโดยนัย" เป็นเพียงชื่อแฟนซีสำหรับ "ส่งคืนสิ่งสุดท้ายโดยอัตโนมัติ"

นอกจากนี้ :

คุณสามารถบอกให้ Ruby return บางอย่างที่มีคีย์เวิร์ด

def two
  return 2
end

# 2

สังเกตว่าเมธอดของคุณหยุดทำงานเมื่อคุณใช้ return .

คุณใช้สิ่งนี้เพื่อส่งคืนโค้ดของคุณก่อนกำหนด หรือเพื่อออกจากลูป

เหตุใดจึงมีเครื่องหมายคำถามในชื่อวิธีการของฉัน

คุณอาจพบวิธี Ruby แปลก ๆ

มีชื่อเหมือน :

  • empty?
  • sort!
  • title=

ทั้งหมดนี้เป็นชื่อวิธีการที่ถูกต้อง

เครื่องหมายคำถาม เครื่องหมายตกใจ หรือเครื่องหมายเท่ากับหมายความว่าอย่างไร

เป็นข้อตกลงในชุมชน Ruby

คำอธิบาย :

  • วิธีเครื่องหมายคำถาม หรือที่เรียกว่าวิธีเพรดิเคตควรจะส่งคืน true หรือ false
  • วิธีเครื่องหมายอัศเจรีย์ บอกว่าจะทำบางอย่างที่แตกต่างจากเวอร์ชันที่ไม่มีเครื่องหมายอัศเจรีย์ โดยปกติแล้ว สิ่งนี้จะเกี่ยวข้องกับการเปลี่ยนตัวออบเจกต์เองในทางใดทางหนึ่ง เช่น การเพิ่ม/ลบองค์ประกอบ เรียกอีกอย่างว่า “วิธีปัง”
  • วิธีการลงชื่อเท่ากับหมายถึงการมอบหมาย . ใช้เพื่อกำหนดค่าให้กับตัวแปรอินสแตนซ์

ภาษาไม่มีการบังคับใช้อนุสัญญาใด ๆ เหล่านี้

แต่…

หากคุณปฏิบัติตาม คุณจะสามารถเขียนโค้ดที่คล้ายกับ Ruby ได้มากขึ้น!

สรุป

คุณได้เรียนรู้เกี่ยวกับพลังของวิธี Ruby วิธีกำหนด วิธีใช้งาน และวิธีปฏิบัติตามข้อตกลงที่เหมาะสม

ตอนนี้ถึงตาคุณแล้วที่จะนำสิ่งนี้ไปปฏิบัติ 🙂

ขอบคุณสำหรับการอ่าน!