我最近给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