Điều này là dành cho một API công cộng đã tồn tại mà tôi không thể phá vỡ, nhưng tôi muốn mở rộng.Cách thanh lịch của chuỗi đánh máy, biểu tượng và mảng thanh lịch?
Hiện nay phương pháp này có một chuỗi hoặc một biểu tượng hay bất cứ điều gì khác có ý nghĩa khi truyền như tham số đầu tiên send
tôi muốn thêm khả năng gửi một danh sách các chuỗi, biểu tượng, vân vân . Tôi chỉ có thể sử dụng is_a? Array
, nhưng có nhiều cách khác để gửi danh sách, và đó không phải là rất ruby-ish.
Tôi sẽ gọi số map
trong danh sách, do đó, độ nghiêng đầu tiên là sử dụng respond_to? :map
. Nhưng một chuỗi cũng phản hồi với :map
, do đó sẽ không hoạt động.
Không có gì để làm với câu hỏi của bạn, nhưng tôi hy vọng bạn đang thực hiện một số kiểm tra trước khi bạn chuyển đầu vào của người dùng cho phương thức gửi! Yikes. –
điểm tốt. Trong trường hợp của chúng tôi, các tài liệu nêu rõ rằng tham số là một tên phương thức. Đó là một API đủ sâu rằng điều này sẽ là đủ .... –
Nó không phải là vấn đề của tài liệu - đó là một lỗ hổng bảo mật. Nếu họ vượt qua trong một backtick, tham số thứ hai của gửi được chạy trong một vỏ. Đó có thực sự là điều bạn muốn không? Bạn nên kiểm tra đầu vào trong báo cáo trường hợp và sau đó gửi các biểu tượng của cấu trúc của riêng bạn để gửi. –