如果列表不为空,scala或
scalaz中是否有函数将函数应用于列表.否则它会返回一些默认值.该函数必须应用于列表本身而不是列表的元素.也就是说,它完成以下任务:
implicit class RichList[A,M[A] <: Iterable[A]](list: M[A]) { def convertOrElse[B](fn: M[A] => B,whenEmpty: B) = { if (!list.isEmpty) fn(list) else whenEmpty } }
用法示例:
mylist.convertOrElse(“prefix”_.mkString(“,”),“”)
我记得在某个地方看过这个,但它可能是在博客文章或其他一些.我现在似乎无法在scalaz中找到它,但我甚至无法在网上找到最新的scalaz文档(这是一个不同的问题:)
正如你所看到的那样,我已经编写了我自己的隐含内容,但是当一个适当的scalaz导入可以解决这个问题时,我讨厌添加自己的含义.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。