Ví dụ: — nói rằng tôi muốn thêm phương thức helloWorld()
vào loại dict của Python. Tôi có thể làm được không?Tôi có thể thêm các phương thức/thuộc tính tùy chỉnh vào các kiểu Python có sẵn không?
JavaScript có đối tượng mẫu thử nghiệm hoạt động theo cách này. Có lẽ đó là thiết kế xấu và tôi nên phân lớp đối tượng dict, nhưng sau đó nó chỉ hoạt động trên các lớp con và tôi muốn nó hoạt động trên bất kỳ và tất cả các từ điển trong tương lai.
Dưới đây là làm thế nào nó sẽ đi xuống trong JavaScript:
String.prototype.hello = function() {
alert("Hello, " + this + "!");
}
"Jed".hello() //alerts "Hello, Jed!"
Dưới đây là một liên kết hữu ích với nhiều ví dụ — http://www.javascriptkit.com/javatutors/proto3.shtml
Bạn cũng có thể thực hiện điều này bằng ruby bằng cách mở lại lớp, ví dụ: class string; def new_method() ...; end; Tôi khá chắc chắn python có một cái gì đó như thế. –
@Abdullah Tôi tin rằng bạn đang đề cập đến khỉ vá, mà chủ yếu là cau mày khi. –
Đúng vậy. Nó được thực hiện tất cả trong Rails. –