-Phương thức `tam_biet` không sử dụng `each`, thay vào đó nó kiểm tra xem nếu `@names` có đáp ứng phương thức `join` không, nếu có thì sử dụng nó. Mặt khác nó chỉ in ra các biến dưới dạng xâu. Phương thức này không quan tâm tới *kiểu* của biến, chỉ dựa vào phương thức mà nó hỗ trợ được gọi là "Duck Typing", giống như "nếu nó đi giống con vịt và quạc quạc giống con vịt...". Lợi ích của điều này là không cần thiết phải hạn chế kiểu biến được hỗ trợ. Nếu ai đó đến với một kiểu danh sách lớp mới, miễn là nó thực thi phương thức `join với cùng một ngữ nghĩa như các danh sách khác, mọi thứ sẽ hoạt động theo đúng kế hoạch.
0 commit comments