在下一个代码中
(if (exp1)
(Do1)
(Do2))
当exp1为真时,(Do1)正在发生。我的问题是,如果条件为真,我想做两个的事情。意思是 - 我想添加一个列表链接,并再次调用该函数。
so Do1 in my program is:
((cons (car hello) list1)
(Myfunction (cdr data) list1))
它给了我下一个问题:
procedure application: expected procedure, given: ((439043 Mylist)); arguments were: ()
我该怎么做?
谢谢。
答案 0 :(得分:5)
只需使用begin
- 例如:
(begin
(cons (car hello) list1)
(Myfunction (cdr data) list1))
答案 1 :(得分:3)
您可以使用(begin)
将一堆语句放入一个组合中。 但是,我认为这不是你想要的。 (cons (car hello) list1)
有什么影响?没有。 (cons)
返回列表,它不会改变任何参数。
事实上,我认为您希望do1
为(Myfunction (cdr data) (cons (car hello) list1))
这只是一个声明,可以在您(if)
的结果中不使用(begin)
。