例如,我们需要实现function Set addToSet(Stack, Object)
:它接受一个Stack
和一些可以压入堆栈的对象;输入对象应该被推入输入堆栈;我们需要它返回 a Set
,其中包含输入堆栈的所有元素以及新对象。如果我们将新对象压入堆栈,就违反了函数式编程的原则。出于某种原因,我们不能在调用此函数之前或之后将新对象压入堆栈(即在函数外进行压入)。我们应该怎么做?
我猜测的解决方案是先将输入堆栈复制到一个新堆栈,然后修改新堆栈,最后将结果Set
与新堆栈一起返回。你怎么看?