Guarded Methods in OCaml6 hours agohttps://xvw.lol/en/articles/oop-refl.html受保护方法仅对特定方法在接收者上附加约束,仅当接收者满足这些约束时才允许调用。OCaml 本身不支持受保护方法,但可以通过类型相等见证来编码实现。问题在于类级别的泛型约束过于宽泛时,方法级别的约束更为灵活。存在三种方法:将方法移到类外部、扩展方法以及受保护方法,最后一种最符合理念。更多...