Sử dụng một ví dụ đơn giản để minh họa:
def method[T : Manifest](param : T) : ResultType[T] = ...
Ký hiệu T : Manifest
có nghĩa là có một bối cảnh ràng buộc. Ở những nơi khác trong chương trình của bạn, trong phạm vi, phải được xác định một đơn hoặc giá trị loại Manifest[T]
được đánh dấu là ẩn.
Điều này đạt được bởi trình biên dịch viết lại chữ ký phương pháp sử dụng một khối (implicit) tham số thứ hai:
def method[T](param : T)(implicit x$1 : Manifest[T]) : ResultType[T] = ...
Như ví dụ của bạn minh họa, nhiều giới hạn bối cảnh có thể được sử dụng trong chữ ký phương pháp tương tự. Nó cũng có thể kết hợp chúng với giới hạn khung nhìn.
Nguồn
2010-09-27 10:11:44
http://stackoverflow.com/questions/2982276/what-is-a-context-bound-in-scala – retronym