:=是使用单等号相等测试的语言的赋值运算符。这些语言中最著名的是Pascal。由于C的影响,大多数语言都将=分配给=并将==进行测试。受过这种样式训练的一些较旧的文本和作者使用:=进行伪代码。您有时还会看到箭头<-进行分配。
从文章:
input: an array a of length n with array elements numbered 0 to n − 1
inc ← round(n/2)
while inc > 0 do:
for i = inc .. n − 1 do:
temp ← a[i]
j ← i
while j ≥ inc and a[j − inc] > temp do:
a[j] ← a[j − inc]
j ← j − inc
a[j] ← temp
inc ← round(inc / 2.2)
一些现代语言使用箭头进行赋值;最值得注意的是R,它将其用于全局分配,而将单个等于(=)用于局部分配。
从Sebesta的编程语言概念和KN King博士的课堂笔记中,我们了解到赋值标准可以追溯到比C或Pascal更远的地方。看起来在1958年设计Algol时,决定使用:=进行赋值。该委员会由美国和欧洲的代表组成。委员会中的一些德国人熟悉Konrad Zuse的Plankalkul语言(该语言在第二次世界大战期间起草,但直到1972年才发布,直到2005年才实施),并希望该分配遵循该语言提议的分配方法。b+c => a
其中b + c分配给a。委员会将其更改为=:,理由是当时输入程序的方法称为按键,没有使用“>”。因此,他们在平等结肠上妥协。但是,熟悉FORTRAN的美国人(直到1990年才使用小写字母)希望该任务向左操作,因为FORTRAN就是这样做的。
因此,他们设法将其更改为:=,并以FORTRAN(是已知的已实现语言)的样式而不是Plankalkul(德国以外的一种几乎未知的语言,未实现)将赋值向左而不是向右操作。 。Algol 60强烈影响了所有主要的随后命令式语言,包括Pascal和C。因此,Pascal保留了ALGOL的赋值语法,并且都保留了赋权习惯。
ALGOL的设计易于阅读并且接近数学符号。这是未来20多年在期刊中编写算法的事实上(基本上是法律上的)标准。因此,从1960年到1980年左右接受教育的讲师和计算机科学家会熟悉这种表示法。
1964年发布的IBM 029 Keypunch允许使用>和<字符,从而促使它们包含在C中。