【问题标题】:Cannot resolve symbol - Scala无法解析符号 - Scala
【发布时间】:2015-03-12 21:58:04
【问题描述】:

此代码无法编译。

Actions anything = new Actions(getDriver)

我以这种方式创建驱动程序:

private var driverInstance: Option[_ <: RemoteWebDriver] = None

private def getDriver: RemoteWebDriver = driverInstance.getOrElse(reportDriverException)

我得到的问题是“任何东西”都带有下划线,它说

无法解析任何符号

但是当我改变时

Actions anything = new Actions(getDriver)

val anything = new Actions(getDriver)

它看起来很好 - 除了它是一个 val 很明显我不能用它做任何事情。

由于可能是环境问题,我在 IntelliJ IDEA 14 中使用 Scala 和 Selenium 2.44

【问题讨论】:

    标签: scala selenium intellij-idea


    【解决方案1】:

    您能否澄清一下“除了它是一个 val ,所以我显然无能为力”是什么意思?你想对anything采取什么行动?如果你的意思是你不能重新分配它的价值,那么你是对的。 每当您需要重新分配anything 时,只需将其声明为

    var anything = new Actions(getDriver)
    

    但默认情况下,您应该更喜欢 vals 而不是 vars。

    【讨论】:

    • 嘿,抱歉耽搁了。是的,它就是这样工作的——但它不应该是一个错误吗?它应该可以无缝地编译 Java,对吧?还是我哪里错了?
    • 不,Scala 有它自己的语法。您可以在 Scala 代码中无缝使用 Java 类型,但不能使用 Java 语法。
    猜你喜欢
    • 2021-03-28
    • 2017-03-29
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 2023-02-26
    相关资源
    最近更新 更多