Tôi đã nhìn thấy làm thế nào để quá tải +
và *
trong Ruby, do đó my_obj + other
cuộc gọi my_obj.+(other).
Trong Python, bạn làm điều này với __add__
, và có một tương ứng __radd__
cho quá tải other + my_obj
. Có thực sự không có sự bổ sung/nhân đôi bên phải tương đương nào trong Ruby, và điều đó có cần thiết để xác định lại +
cho mỗi lớp tiềm năng của other
không?Sự tồn tại của phép cộng/phép nhân trong ruby?
Tóm lại: giả sử tôi có một đối tượng X
thuộc về một số lớp mới do tôi xác định. Thật dễ dàng để viết mã cho X + 5
, nhưng có vẻ như để xử lý 5 + X
tôi cần phải xác định lại Fixnum.+
. Điều này có đúng không?
Tôi nên làm rõ: Tôi muốn 5 + X (và X + 5) để trả về một đối tượng tùy chỉnh mà tôi chọn và không chỉ là số nguyên hoặc dấu phẩy. – Peter
Xác định truy tìm cưỡng bức đó. – sepp2k