Scala非常强调看似是语言特性其实是库特性的实现。
那么有没有一份列出了语言中被特殊对待的类型的清单呢?
无论是在规范中还是作为实现细节?
这将包括例如优化元组匹配的内容。
关于模式匹配、for推导、try-catch块和其他语言结构的特殊约定是什么?
编译器是否会特别处理字符串?我看到字符串增强只是一个库内隐式转换,字符串连接由 Predef
支持,但它是否被语言特别处理?
同样地,我看到关于<: <
、classOf
和asInstanceOf
的问题,不清楚哪些是神奇的内部机制。是否有一种方法可以通过编译器选项或查看字节码来区分它们的差异?
我想了解一个功能是否被Scala.JS和Scala-native等实现统一支持,还是说这个功能可能实际上取决于库实现,因此具有实现依赖性。