来自List
的API文档:
在此列表前面以相反的顺序添加给定列表的元素。
xs reverse_::: ys
相当于xs.reverse ::: ys
,但效率更高。
让我感到困惑的是为什么xs.reverse ::: ys
有效,即用空格替换下划线。
这是一种扩张吗?
答案 0 :(得分:6)
执行xs reverse_::: ys
时,您只是调用名为reverse_:::
的函数。
当您执行xs.reverse ::: ys
时,首先拨打reverse
上的xs
功能,然后拨打:::
功能。
xs.reverse ::: ys
将遍历xs
中的元素两次。首先撤消xs
,然后第二次将结果reverse
追加到ys
。 reverse_:::
函数将通过xs
上的单次迭代执行两个操作。