语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。
一个例子是C语言中的for 循环:
for (i = 0; i < 10; i++) { //P }
其效果和以下的while 循环是一样的,其中 P 是循环要处理的主体。
i = 0; while (i < 10) { //P i++; }
Haskell 虽然是函数编程语言,但它提供了 a + b 这种“中置表示法”的语法,让程式更容易撰写,也比较容易阅读。
在Lua中,一个变量的赋值方法如下:
foo = "bar"
而一个函数,作为基本类型之一,语法与定义变量的方法基本一致:
foo = function() print "bar" end
但是此种写法对于有其他编程语言背景的人来说不够直观,故 Lua 提供了如下的语法糖:
function foo() print "bar" end
它与上述方法效果完全一样,但是更加紧凑和易于理解。
原文:http://blog.csdn.net/dhuwxs/article/details/20615511