ตัวอย่างการใช้ Argument ใน ruby
def create_car( model, convertible=false) ... end
เราสามารถเรียกใช้ create_car โดยส่งตัวแปรให้เพียงตัวเดียวหรือสองตัวก็ได้
create_car('sedan') create_car('sports car', true) create_car('minivan', false)
กรณีที่ method ถูกเรียกโดยส่งค่าให้เพียงตัวแปรเดียว method จะกำหนดค่า false ให้ convertible โดยอัตโนมัติครับ
argument ที่มีค่ากำหนดไว้แล้วต้องเรียงอยู่หลังสุดนะครับ
method ของ ruby ทำให้เรากำหนด argument ใด้ flexible มากๆ เช่น
def add_students(*names) for student in names puts("adding student #{student}") end end add_students( "Fred Smith", "Bob Tanner")
เมื่อเราใส่ * ไว้ท้ายสุด ruby จะแปลงค่าที่อยู่ต่อท้ายเป็น array อย่างในตัวอย่าง ruby จะทำให้
names = ["Fred Smith", "Bob Tanner"]
ลองดูอีกตัวอย่างที่เราใสทั้ง regular arguments และ arguments array ไว้ด้วยกัน
def describe_hero(name, *super_powers) puts("Name: #{name}") for power in super_powers puts("Super power: #{student}") end end
ตัวอย่างการเรียกใช้ method hero
describe_hero("Batman") describe_hery("Flash", "Speed") describe_hero("Supreman", "can fly", "x-ray vision", "invulnerable")