Cor*_*ein 4 scala list optional-parameters
通常我的方法都有一个List可选的参数.当我收到一个项目列表时,我会对它们执行某些操作,否则将忽略该参数.这是一个简单的例子.
scala> def convertToUpper(s: String, appenders: List[String] = List()) {
(s.toUpperCase :: appenders).mkString(" ")
}
scala> convertToUpper("cory", List("asks", "questions"))
CORY asks questions
Run Code Online (Sandbox Code Playgroud)
但有时候我想知道这个合同appenders是否在可选时传达参数的期望.在另一方面,使得appenders在Option[List]增加了复杂性.
Option当参数是a时避免使用是不好的做法List而我只能测试空虚而不是None?
如果一个空列表是一个有效的参数(它在你的例子中)并且它的行为与None那样,那么我建议不要将该列表包装在一个选项中.
我会说将它包装在一个选项中会发出信号None并且List()会被区别对待.
我认为接受列表作为参数表示为无操作的方法相当普遍.
| 归档时间: |
|
| 查看次数: |
537 次 |
| 最近记录: |