tôi xác định một nhà điều hành như sau:SWI-Prolog - Không phù hợp với Khẳng định
:- op(500, xfx, =>).
Khi tôi cố gắng một cái gì đó như:
assert(a => b).
Prolog đặt ra một lỗi mà nói: 'Không có quyền sửa đổi static_procedure (=>)/2 '.
Bất kỳ giải pháp nào?
Nit: Trên đây là cú pháp không hợp lệ (hãy thử GNU để xem điều này). Nó phải là '(=>)/2' – false
@false: ồ, tôi không có bất kỳ thông dịch viên nào để kiểm tra điều đó. Cảm ơn, tôi sẽ chỉnh sửa :) – m09
Nó luôn luôn như thế: một chỉ báo dự báo phải có dấu ngoặc nếu nó có định nghĩa toán tử tương ứng. Vì vậy, nó là '(;)/2' và' (',')/2'. Các dấu ngoặc kép chỉ phân tách một mã thông báo - như ''a b'' chúng cần thiết một cách độc lập với khai báo toán tử. – false