今天,我在想的編程風格和等號,以及如何可怕,它看起來,當人們不把他們周圍的空間,它讓我思考:是否有不使用「=」的語言將其設置爲該值?
是否有語言,其中設置的東西價值不(主要是)通過「=」符號表示?
而不是在這方面努力,但有語言使用「=」進行比較操作(而不是「==」)?
今天,我在想的編程風格和等號,以及如何可怕,它看起來,當人們不把他們周圍的空間,它讓我思考:是否有不使用「=」的語言將其設置爲該值?
是否有語言,其中設置的東西價值不(主要是)通過「=」符號表示?
而不是在這方面努力,但有語言使用「=」進行比較操作(而不是「==」)?
是的,Pascal使用:=
進行分配。
Visual Basic使用=
進行比較和分配。
維基百科有一個很棒的表格,顯示了各種語言的運營商:http://en.wikipedia.org/wiki/Assignment_(computer_science)#Notation。下面再現
表(screenshoted):
從Wikipedia的所有表。
我想我可以在Markdown中重現這些表格,但是SO不支持:\。這就是爲什麼我訴諸截圖 –
當然!例如,許多LISP的家庭語言表達左到右的模式
(set! x (+ 1 2 3))
這就是所謂的前綴符號分配(等操作),而x = 1 + 2 + 3
爲另一種語言可能會做會綴符號。不使用符號=
的事實是次要的,可能更多的原因是它看起來在前綴符號中比其他任何字符都要奇怪。
POSIX殼牌及其變種使用=
用於分配的一個方面,但在另一個比較,作爲[
命令後:
[ "$x" = "abc" ]
順便說一句,sh
不關心你的審美:如果您使用=
進行分配,最好不要包含空格!
$ z = 1
-bash: z: command not found
我相信帕斯卡爾用途:=代替= –
(而且甚至有些語言會對待'X = y'和'X = y'不同;在任何情況下,我做了-1,因爲「有沒有......?「這個問題顯然是」是「,另請參見FAQ。) – 2013-01-15 02:52:50
Haskell只用'='來定義,從不用於設置值。 –