【发布时间】:2011-05-18 22:32:19
【问题描述】:
作为初学者练习,我实现了以下函数来查找列表中的第 n 个元素:
elem_at (h:_) 0 = h
elem_at (_:t) n = elem_at t (n-1)
elem_at _ _ = error "Index out of bounds"
但是,如果我调用:elem_at [1,2,3,4] 5,它是否正确,只有在遍历整个列表后才会返回“索引超出范围”,以便最后一行与模式匹配_ _ 与 [] 1?更一般地说,如果列表很大,那不是性能问题吗? ghc 能以某种方式优化这种情况吗?
【问题讨论】:
标签: list data-structures haskell performance