Gần đây tôi đã cho Scala một cơ hội thứ hai, và bắt đầu với dự án tôi luôn thực hiện (bằng ngôn ngữ chức năng hoặc giả): một lý do tự động cho logic mệnh đề (và sau này là logic vị ngữ).Scala - Prefix Unary Operators
Bây giờ, tôi đã cố gắng để có được những ký hiệu của logic mệnh đề bằng ngôn ngữ riêng của mình như khá càng tốt, và tôi đã nhận được điều này đến nay - với một chuyển đổi ngầm (String -> Atom):
("A" and "B") implies "C"
Các hàm "và" và "ngụ ý" (và "hoặc" và "tương đương") là các phương thức đơn giản gọi hàm tạo lớp có liên quan. Tuy nhiên, khi thực hiện "không", tôi gặp khó khăn với một trong hai ký hiệu sau:
("A" and "B").not
Not("A" and "B")
Có cách nào để lừa Scala vào chấp nhận mong muốn:
not("A" and "B")
Ưu tiên sử dụng mà không cần đổi tên lớp "Không" để "không", bởi vì tôi có thể muốn gọi nó là "¬" hoặc cái gì khác, trong tương lai.
Cảm ơn, tôi không biết tôi có thể sử dụng "hàng nhập khẩu tĩnh" trong Scala - điều này sẽ để lại cho tôi với một khẩu bắt buộc trên mỗi trang, tuy nhiên, đó - cùng với chuyển đổi tiềm ẩn sẽ có nhiều mã bổ sung cho mỗi lần sử dụng. – wen
@Dennetik: Nếu bạn chỉ cần đặt mọi thứ vào đối tượng Logic, 'import Logic._' là tất cả những gì bạn cần để sử dụng các lớp của bạn. – sepp2k
Đã không nghĩ về điều đó, tôi vẫn phải làm quen với sự tự do của Scala, so với Java ... – wen