Special character in Method name

ปกติตัวเครื่องหมายคำถาม ? ในเชิงโปรแกรมมิ่งเราจะใช้ในกรณีเดียว คือการเขียน if...else แบบลดรูป เช่น condition ? x : y ก็แทน if (condition) { x } else { y };



แต่อ่านบล็อก Tagging with Rails แล้ว มีการเรียกเมธอดชื่อ tagged_by?() ด้วยแหะ คือไอ้เครื่องหมายคำถามมันถือเป็นหนึ่งในชื่อของเมธอดไปเลย คุณ pphetra เค้าไปค้นมาแล้วก็พบว่ามันทำได้จริงๆ

Keyword
Submitted bypphetraon Fri, 09/02/2005 - 21:31

วันนี้ได้เขียน ruby เป็นเรื่องเป็นราว (ใช้งานจริง)
ก็เลยพบว่า built-in class ของ ruby
ที่มีทั้งหมด 32 ตัว (etc. Array, Hash, String...)
จะมี method ที่ลงท้ายด้วย ? ทั้งหมด 64 method
ตัวอย่าง
array.empty?, array.eql?, array.include?

เพิ่มเติม นอกจากลงท้ายด้วย ? ยังมีพวกลงท้ายด้วย ! อีกด้วย
เช่น array.collect!, array.flatten!
ความหมาย รู้สึกว่าจะเป็นการบอกว่า method นี้
จะ modify data ภายใน object นั้นๆ

ตัวอย่าง
" hello ".strip => อันนี้ return ค่า เป็น "hello"
แต่ถ้า
a = " hello "
a.strip! => อันนี้ a จะกลายเป็น "hello"

Submitted bytonyaon Wed, 09/27/2006 - 16:36

อยากจะรู้ความหมายและประวัติความเป็นมา วิธีการใช้งาน ของ ruby ค่ะ เพราะจะส่งรายงานอาจารย์พรุ่งนี้ แต่ได้ข้อมูลน้อยมาก ช่วยหน่อยนะคะ