gpt4 book ai didi

scala - Predef.locally 有何作用,与 Predef.identity 有何不同

转载 作者:行者123 更新时间:2023-12-03 01:30:55 25 4
gpt4 key购买 nike

查看Scala 2.8 Predef类,我发现有一个“本地”方法。据我所知,它与 Predef.identity 相同,除了具有“@inline”注释之外。它的用途是什么?为什么它在 Predef 中如此重要(因此可以在 Scala 中的任何地方使用)?

最佳答案

这里讨论:http://www.scala-lang.org/node/3594

这个想法是为了避免程序员将“悬空”本地 block 与对象/类/特征的模板混淆的错误。

object test {
object a
{
val x = 1
}

object b

{ // oops, extra newline disassociates this block with the object b
val x = 1
}
}
test.a.x
//test.b.x // doesn't compile

如果程序员确实希望该 block 独立,则可以使用本地:

object test {
object a
{
val x = 1
}

object b

locally {
val x = 1
}
}

该线程还表明第一个代码将产生弃用警告。尚未添加此内容。

关于scala - Predef.locally 有何作用,与 Predef.identity 有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3237727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com