为什么常识

各语言对“宏”的支持是怎样的?

生活词典 changshi.cidiancn.com

阅读: 291

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

答案 1:

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

答案 2:

Lisp/Sc-eme 把宏用到了极致 TeX 扩展都是用宏定义的 Pyt-on 那个是decorator 吧,不是宏

分享常识给亲友.

下一篇:知乎是不是应该把评论者的名字放在评论的前面? 下一篇 【方向键 ( → )下一篇】

上一篇:有没有好的国外的教人学英语的网站? 上一篇 【方向键 ( ← )上一篇】