![]() |
1
19
在scala解释器中运行此示例,并打开未选中的警告(
jvm在这个模式匹配中看到的是:
编辑:
针对你的评论,我一直在考虑一个解决方案,但昨天没有时间发表。不幸的是,即使
应该
工作时,编译器无法插入正确的
要解决的问题是比较对象是否属于给定的结构类型。下面是我一直在想的一些代码(scala 2.8-r20019,scala2.7.6.final在我使用类似的想法时崩溃了几次)
方法
如果不这样做,您可以使用Java反射来查看对象是否包含方法。
按预期工作:
…但不是很好。
另外,请注意,结构类型的结构在运行时不可用。如果你有办法
|
![]() |
2
9
如果你要使用反射,你至少可以用提取器使它看起来更好:
|