【发布时间】:2012-05-22 05:28:28
【问题描述】:
有没有办法只转换列表的第一个元素而不做一些超级 hacky 之类的事情:
val head = l1.head
val tail = l1.tail
val l2 = change(head) :: tail
updated() 看起来可以工作,但改进不大:
val head = l1.head
val l2 = l.update(0, change(head))
我喜欢这样的东西:
val l2 = l1.updateHead(change(_))
有类似的吗?
【问题讨论】:
-
val l2 = change(l1.head) :: l1.tail真的是“超级黑客”吗? -
也许不是,尽管每个人都建议了很多对我来说看起来更好的替代方案。我认为罗伯特的模式匹配方法是最简单的。