小编hal*_*l88的帖子

如果嵌套列表有1个元素,如何删除Scheme中嵌套列表中的周围括号?

说我有这个清单: (a b ((c)) (d + e) ((e + f)) (g) () h)

如何获得以下列表(最好带有功能):(a b c (d + e) (e + f) g h)

换一种说法:

  • 如果嵌套列表只有一个元素,则将其简化为元素.((c))在上面的例子中,这简化为c.也((e + f))变成了(e + f).

  • 如果嵌套列表包含多个元素,则它保持不变.这(d + e)仍然(d + e)如上例所示.

  • 如果嵌套列表为null,则只删除它.

最后,我不确定在这种情况下flatten一词是否适用.我希望我的问题很明确.如果没有,请告诉我.

提前致谢!

recursion scheme list nested-lists flatten

6
推荐指数
1
解决办法
5667
查看次数

如何提前终止计划程序?(有退出吗?)

我想要像:

(cond ((< x 3) (and (display "Error Message") (exit)))

(else (foo y))

换句话说,我想显示一条消息,并在满足条件时终止.我怎样才能做到这一点?有这样的退出功能吗?

提前致谢!

scheme exit

5
推荐指数
2
解决办法
3178
查看次数

标签 统计

scheme ×2

exit ×1

flatten ×1

list ×1

nested-lists ×1

recursion ×1