我正在尝试编写一个在“分隔符”元素之间“封装”(即放入列表中)列表元素的过程。
(my-proc '(1 + 2))
=> ((1) (2))
(my-proc '(x * y + z ^ 2 + 1 + 5))
=> ((x * y) (z ^ 2) (1) (5))
(my-proc '((x + 1) * y + 5))
=> (((x + 1) * y) (5))
在这种情况下,可以对过程进行硬编码以将 + 符号定义为分隔符。
假设定义了 foldr (折叠右操作),我更喜欢它。