首页 > 教育学习 > 为什么 > 各编程语言对“宏”的支持是怎样的?

各编程语言对“宏”的支持是怎样的?
2012-01-19 20:33:42   来源:   点击:

    编程语言对“宏”的支持是怎样的?“宏”的概念不解释了,问大家,有哪些编程语言支持“宏”,例如C,比较弱的宏支持,虽然可以通过扩展增加可用性,再如python、lisp,对宏的支持就很精巧。大家能否也评价一下其他语言中对宏的支持以及大家对宏的应用的看法。 在我的团队中尽量避免了宏的使用,一个是怕影响代码可读性,二是宏使顺手后很容易上瘾,虽然有可能会将自己的开发效率及bug数量降低,但项目中仍会担心人员变动带来的风险(先不考虑这是否对团队人员有些不公)。有点纠结,又爱又恨,希望大家发表下看法,对宏的看法怎样,互相交流。

    2 个答案

    • 答案 1:

      Common Lisp 以宏著称,Scheme中有所谓“卫生宏” 。 其他类Lisp语言,如 Clojure中也有宏。 不过,Python中有宏么?没听说。 在Lisp中使用宏,一个主要的目的是为了 Lazy Eval,这样可以进行自定义语法,这是普通函数做不到的。但是有些语言中,如Ruby,使用Block,而Haskell本身就是惰性计算的,因此对宏的需求就不那么强烈。
    • 答案 2:

      Lisp/Scheme 把宏用到了极致 TeX 扩展都是用宏定义的 Python 那个是decorator 吧,不是宏

相关热词搜索:

上一篇:母婴网站建设有哪些经验可借鉴?
下一篇:IT人一般会看那些杂志报刊?