【问题标题】:What does ampersand between functions mean in ScalaScala中函数之间的&符号是什么意思
【发布时间】:2012-01-25 14:17:34
【问题描述】:

我在 Scala 中遇到了一段奇怪的语法,有人可以向我解释一下,在作为参数传递给其他函数的函数之间应用和号是什么意思?

partialUpdate {
    SetHtml(currentAmountId,
    Text(leadingBid.toString)) &
    SetHtml(nextAmountId,
    Text(minimumBid.toString)) &
    SetHtml(winningCustomerId, winningCustomer) &
    SetValueAndFocus(amountId,"")
}

感谢您向我解释这一点。

【问题讨论】:

  • 这与Lift有关吗?如果是这样,请在您的问题和标题中说明这一点。这似乎不在 scala 标准库中。

标签: scala lift


【解决方案1】:

& 是连接两个命令的Lift framework 中的a method on JsCmd。它不适用于普通的 Scala 字符串。

【讨论】:

    【解决方案2】:

    在这种情况下,它看起来像是在连接 SetHtml 调用的输出。

    这样看起来更清晰吗?

    partialUpdate {
        SetHtml(currentAmountId, Text(leadingBid.toString)) &
        SetHtml(nextAmountId, Text(minimumBid.toString)) &
        SetHtml(winningCustomerId, winningCustomer) &
        SetValueAndFocus(amountId,"")
    }
    

    【讨论】:

    • 没有。 & 是 SetHtml 返回的任何方法。如果它是一个字符串,那么它是一个隐式添加的方法。这就是隐含和过度重载的问题。
    • @Chocos:口味当然各不相同,但在我看来,Lift 在提供简洁的语法方面做得很好,没有像 Specs2 这样的大量晦涩的幕后机制。您可能需要在文档上多花一点时间,但这可以说是值得的。
    猜你喜欢
    • 2012-04-19
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 2010-09-29
    • 2011-04-18
    • 1970-01-01
    • 2023-03-27
    相关资源
    最近更新 更多