-1

今天我在思考编程风格和等号,以及当人们不在他们周围放置空格时它看起来多么糟糕,这让我思考:

是否存在不(主要)通过“=”符号表示设置值的语言?

并不是要硬塞进去,但是有没有使用“=”进行比较操作的语言(而不是“==”)?

4

3 回答 3

4

维基百科有一张很棒的表格,显示了各种语言的运算符:http ://en.wikipedia.org/wiki/Assignment_(computer_science)#Notation 。

下面复制的表格(截图):

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

来自维基百科的所有表格。

于 2013-01-15T02:50:36.217 回答
2

当然!例如,许多 LISP 系列语言以从左到右的模式表达赋值(和其他操作)

(set! x (+ 1 2 3))

这称为前缀表示法,而x = 1 + 2 + 3另一种语言可能会是中表示法。未使用该符号的事实=是次要的,并且可能更多是因为它在前缀符号中看起来比其他任何东西都奇怪。

POSIX Shell 及其变体=在一种上下文中用于赋值,但在另一种上下文中用于比较,如在[命令之后:

[ "$x" = "abc" ]

顺便说一句,sh不关心你的审美:如果你=用于赋值,你最好不要包含空格!

$ z = 1
-bash: z: command not found
于 2013-01-15T02:52:49.000 回答
2

是的,Pascal:=用于赋值。

Visual Basic=用于比较和赋值。

于 2013-01-15T02:48:39.960 回答