加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

我应该使用空列表还是使其成为选项?

发布时间:2020-12-16 09:50:48 所属栏目:安全 来源:网络整理
导读:我的方法常常有一个可选的List参数.当我收到一个项目列表时,我会对它们执行某些操作,否则将忽略该参数.这是一个简单的例子. scala def convertToUpper(s: String,appenders: List[String] = List()) { (s.toUpperCase :: appenders).mkString(" ")}scala con
我的方法常常有一个可选的List参数.当我收到一个项目列表时,我会对它们执行某些操作,否则将忽略该参数.这是一个简单的例子.

scala> def convertToUpper(s: String,appenders: List[String] = List()) {
  (s.toUpperCase :: appenders).mkString(" ")
}

scala> convertToUpper("cory",List("asks","questions"))
CORY asks questions

但有时我想知道这个合同是否传达了一个appenders参数的期望,当它真的是可选的时候.另一方面,使appender成为Option [List]会增加复杂性.

当参数是List并且我可以只测试空虚而不是None时,避免使用Option是不好的做法吗?

解决方法

如果一个空列表是一个有效的参数(在你的例子中)并且它的行为为None,那么我建议不要将该列表包装在一个选项中.

我会说将它包装在一个选项中表示None和List()将被区别对待.

我认为接受列表作为参数表示为无操作的方法相当普遍.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读