我遇到过一个例子,我们有一个带有参数的函数,并且还定义了一些内部函数。然后我们根据这个参数的值执行其中一个函数。所有内部函数都在名称前加上下划线。 这种“下划线风格”有一些语义上的意义吗?
def outsideFunction(param: SomeType) {
_inner1() = { ...}
_inner2() = {....}
param match {
case result: Int => _inner1()
case result: String => _inner2()
}
}
答案 0 :(得分:0)
这种“下划线风格”有一些语义上的意义吗?
没有。我怀疑有人习惯于使用_
前缀字段的Java惯例(远非通用但非常见)Java惯例,以便更容易将它们与局部变量区分开来。正如cdncat的评论所说,这是匈牙利表示法的一个特例。
无论如何,如果这些功能实际上每次只使用一次,我真的不能想到任何理由更喜欢它
def outsideFunction(param: SomeType) =
param match {
case result: Int => // body of _inner1
case result: String => // body of _inner2
}