我知道这(begin expr1 expr2 ...)将评估所有表达式并返回最后一个评估的表达式。
我发现在 Chez Scheme 中,它允许在begin没有这样的表达式的情况下使用:(begin). 我正在使用 Chez Scheme 作为我学习的一部分。当我在控制台中写入时,(begin)它不会发送语法错误,它只是不显示任何内容,就像我得到void.
我的问题是,那将返回什么?
我认为这是您可以通过运行获得的 void 对象(void)。然而,当我测试它时,我意识到它不是。
我正在学习 Chez Scheme 作为我正在学习的编译器课程的一部分,我需要实现可以处理特殊单词的编译器的一部分begin。所以我需要知道为什么这甚至可能以及这个函数返回什么。
编辑:
我正在添加有关此主题的链接。我无法完全理解答案。另外,他没有提到返回类型。