טוב את הנושא הבא ידעתי, אבל למה לא לתעד בהמשך לפוסט הקודם.
היות ורובי מתנהגת זהה לכל דבר שמתנהג כמו ברווז (ראו הגדרת duck typing), לא תמיד יש לנו מחלקה שמכילה מתודה מסויימת, אבל בכל זאת היא יכולה לעבור בתור פרמטר, אבל בשביל להיות בטוחים שיש לה את המתודה שאנחנו רוצים להשתמש בה, אנחנו נשתמש במתודה: respond_to? (הסימן שאלה צריך להיות בסוף השם, כאן יש לי בעיה לשים תווי LTR וכו' בבלוג).
השימוש במתודה תתבצע בצורה הבאה:
100.respond_to?(:to_s) # true
100.respond_to?(:foo) # false
כמו שאפשר לראות המתודה מחזריה או true או false בהתאם לשם המתודה שאנחנו מחפשים (ניתן גם להעביר מחרוזת ולא סימול). היות והמתודה to_s קיימת, אז אנחנו נוכל להשתמש בה. אבל המתודה foo אינה קיימת כאשר מדובר במחלקה של מספר שלם (100 הוא מחלקה לכל דבר ועניין), ולכן נקבל חזרה ערך של false.
