Ale*_*x R 13 scala scala-2.8
我正在写一个DSL,其中"+"运算符是严格数字的,就像其他一些流行语言一样.它很接近,但String"+"运算符搞乱了我的隐式转换.unmporting String类的运算符的语法是什么?
为了更清楚,而不是这个:
scala> var x = "2" + 3; x: java.lang.String = 23
我想得到x:Int = 5
我想我只需要做两件事就可以了:
我坚持第一步.
谢谢
Kri*_*ala 9
根据Scala规范的第12.3.1节,该+方法String由编译器进行特殊处理.我不确定,但我认为这意味着你不能"不安排"它,这是一个耻辱,因为它真的打破了类型系统(很像相关的toString方法).
+
String
toString
您可以在DSL中为运营商使用不同的名称,例如,++或&?
++
&
归档时间:
15 年,8 月 前
查看次数:
1258 次
最近记录:
14 年,9 月 前