语法糖
语法糖(英語:)是由英国计算机科学家彼得·蘭丁发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能没有影响,但是更方便程序员使用。语法糖让程序更加简洁,有更高的可读性。
举例来说,许多程序语言提供专门的语法来对数组中的元素进行引用和更新。从理论上来讲,一个数组元素的引用涉及到两个参数:数组和下标向量,比如这样的表达式:get_array(Array, vector(i, j))
。然而,许多语言支持这样直接引用:Array[i, j]
。同理,数组元素的更新涉及到三个参数:set_array(Array, vector(i, j), value)
,但是很多语言提供直接赋值:Array[i, j] = value
。
語法糖的例子
for循环
一个例子是C語言中的for循环:
for (i = 0; i < 10; i++) {
// P
}
其效果在不考虑for循环中的continue语句时和以下的while循环是一樣的,其中P是循环要處理的主體。
i = 0;
while (i < 10) {
// P
i++;
}
Lua
在Lua中,一个变量的赋值方法如下:
foo = "bar"
而一个函数,作为基本类型之一,语法与定义变量的方法基本一致:
foo = function()
print "bar"
end
但是此种写法对于有其他编程语言背景的人来说不够直观,故Lua提供了如下的语法糖:
function foo()
print "bar"
end
它与上述方法效果完全一样,但是更加紧凑和易于理解。
衍生詞語
语法盐
语法盐(英語:)指的是让写出坏代码更难的语法特性。这些特性强迫程序员做出一些基本不用于描述程序行为,而是用来证明他们知道自己在做什么的额外举动。
参考文献
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.