วิธีรูบี้คืออะไร
วิธีการคือหนึ่งหรือหลายบรรทัดของรหัส Ruby ที่จัดกลุ่มเข้าด้วยกันเพื่อวัตถุประสงค์เฉพาะ
โค้ดที่จัดกลุ่มนี้ได้รับการตั้งชื่อเพื่อให้คุณสามารถใช้งานได้ทุกเมื่อที่ต้องการโดยไม่ต้องเขียนหรือคัดลอกและวางโค้ดอีกครั้ง
วัตถุประสงค์ของวิธีการคือเพื่อ :
- รับข้อมูล
- เปลี่ยนหรือสร้างวัตถุ
- กรอง &จัดรูปแบบข้อมูล
ตัวอย่างที่ 1 :
size
วิธีการใน Array
วัตถุช่วยให้คุณนับองค์ประกอบ (รับข้อมูล)
ตัวอย่างที่ 2 :
pop
วิธีการลบองค์ประกอบสุดท้ายออกจากอาร์เรย์ (เปลี่ยนวัตถุ)
เมื่อคุณเข้าใจความสัมพันธ์ระหว่างอ็อบเจกต์ คลาส และเมธอด ทุกอย่างเริ่มสมเหตุสมผล
มาเรียนรู้กันต่อ!
วิธีการกำหนดวิธีการ
ภาษาการเขียนโปรแกรม Ruby มีวิธีการในตัวที่ทรงพลังมากมายที่คุณสามารถใช้ได้ แต่คุณยังสามารถสร้างของคุณเอง .
อย่างไร?
คุณสามารถกำหนดวิธีการอินสแตนซ์ของคุณเองได้โดยใช้ def
คีย์เวิร์ด
นี่คือไวยากรณ์ :
def gimme_bacon puts "Bacon plz." end
เกิดอะไรขึ้นที่นี่
def
เป็นส่วนหนึ่งของไวยากรณ์ของ Ruby มันบอกว่าเราต้องการdef
เป็นวิธีการgimme_bacon
เป็นชื่อวิธีputs "Bacon plz."
เป็นเนื้อความของวิธีการ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 วิธีกำหนด วิธีใช้งาน และวิธีปฏิบัติตามข้อตกลงที่เหมาะสม
ตอนนี้ถึงตาคุณแล้วที่จะนำสิ่งนี้ไปปฏิบัติ 🙂
ขอบคุณสำหรับการอ่าน!