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 次 |
最近记录: |