Main.scala:
package controler
object Main {
def main(args: Array[String]) {
import Utilites._
isJavaUpToDate
}
}
Run Code Online (Sandbox Code Playgroud)
Utilites.scala:
package controler
object Utilities {
def isJavaUpToDate = {
val javaVersion = augmentString(System.getProperty("java.version").substring(2, 3))
javaVersion >= 6
}
}
Run Code Online (Sandbox Code Playgroud)
为什么这不起作用?我已经进行了一系列不同的教程网站,这没有问题.
我总是说无法找到val Utilites.
PS为什么它只是在破坏代码时使用augmentString()来改变.toInt.
现在这给了我麻烦,一些关于隐式排序和方法orderTOOrdered.
在您的main方法中,您已键入Utilites要键入的位置Utilities.
Correct: Utilities
Wrong: Utilites
Run Code Online (Sandbox Code Playgroud)
注意缺失i:)并且因为你的大脑是一个强大的拼写纠正工具,它假装拼写是正确的.但是,Scala编译器并不酷;)
另外,对我来说,以下不起作用:
scala> augmentString(System.getProperty("java.version").substring(2, 3)) >= 5
<console>:15: error: No implicit Ordering defined for AnyVal.
augmentString(System.getProperty("java.version").substring(2, 3)) >= 5
Run Code Online (Sandbox Code Playgroud)
相反,我用它替换它
System.getProperty("java.version").substring(2, 3)).toInt >= 5
Run Code Online (Sandbox Code Playgroud)
你与前代码经历隐含的排序问题是,因为Scala不知道如何申请>=方法/操作的类型scala.collection.immutable.StringOps,其augmentString()返回.
| 归档时间: |
|
| 查看次数: |
168 次 |
| 最近记录: |