【发布时间】:2014-01-16 11:15:54
【问题描述】:
我有一个带有可选参数的函数。但是,这些不是 Option[?] 而是可以设置或为空:
private def div(id: String = null, cssClass: String = null): JQuery = {
val optId = Option(id)
val optCssClass = Option(cssClass)
...
// deal with optId and optCssClass using the Scala-way™
...
}
我正在使用“null”,我知道应该像瘟疫一样避免使用它。但是,它允许我编写这样的代码:
div(id = "someId") // no cssClass
div(id = "otherId", cssClass = "someClass")
在我看来,这比:
div(id = Some("someId")) // no cssClass
div(id = Some("otherId"), cssClass = Some("someClass"))
这是一种已知/可接受的 Scala 模式吗? (使用 null 作为默认参数值并转换为 Option)
或者它仍然是异端/不良做法?如果有,为什么?
【问题讨论】:
标签: scala coding-style null options optional-parameters