我最近給Scala的第二次機會,並開始與項目,我始終貫徹執行(功能性或僞函數式語言):一個自動推理的命題邏輯(後來謂詞邏輯)。斯卡拉 - 前綴目運算符
現在,我已經試圖讓命題邏輯的符號語言本身一樣漂亮越好,到目前爲止,我已經得到了這一點 - 與隱式轉換(字符串 - >凌動):
("A" and "B") implies "C"
功能「與」和「隱含」(和「或」和「等價物」)是調用相關的情況下,類的構造函數的簡單方法。然而,在實現時「不」,我被卡住有以下兩種符號的:
("A" and "B").not
Not("A" and "B")
有沒有辦法來欺騙斯卡拉接受這項期望:
not("A" and "B")
Preferrably不重新命名類「不」「不」,因爲我可能喜歡把它稱爲「¬」或別的東西,在未來屆。
謝謝,我不知道我可以使用Scala的「靜態導入」 - 這會離開我,每個頁面上的強制性進口,雖然,這 - 一起隱式轉換對於每次使用都會有很多額外的代碼。 – wen 2010-09-06 14:00:02
@Dennetik:如果你只是把所有東西都放到Logic對象中,那麼'import logic._'就是你需要使用你的類的所有東西。 – sepp2k 2010-09-06 14:15:17
沒想到這一點,我仍然必須習慣Scala的自由,與Java相比... – wen 2010-09-06 14:23:35