你可以用Lisp宏做什么,而用一流函数无法做到的?

20 浏览
0 Comments

你可以用Lisp宏做什么,而用一流函数无法做到的?

我认为我理解了Lisp宏以及它们在编译阶段中的作用。

但是在Python中,你可以将一个函数传递给另一个函数。

def f(filename, g):
  try:                                
     fh = open(filename, "rb") 
     g(fh)
  finally:
     close(fh) 

所以,我们在这里得到了延迟求值。使用宏而不是函数作为一等对象,我能做些什么?

0