Widziałem :=
używane w kilku przykładach kodu, ale nigdy z towarzyszącym wyjaśnieniem. Nie jest możliwe wygooglowanie jego użycia bez znajomości właściwej nazwy.
Co to robi?
operators
colon-equals
Cyklon
źródło
źródło
:=
kiedy coś definiujesz, aby oddzielić to od regularnych zmian zmiennych. O jakim języku programowania mówimy?Odpowiedzi:
http://en.wikipedia.org/wiki/Equals_sign#In_computer_programming
Uwaga: znalazłem to, wyszukując
colon equals operator
źródło
colon equals operator
.colon equals operator
, działamy magicznie na SEO Google, aby uzyskać najlepszy wynikJest to operator przypisania w Pascalu i jest często używany w dowodach i pseudokodach. To to samo, co
=
w językach C-dialektów.Historycznie rzecz biorąc, artykuły informatyczne używane
=
do porównań równości i←
zadań. Pascal:=
zastępował trudną do wpisania strzałkę w lewo. C poszedł w innym kierunku i zamiast tego zdecydował się na operatory=
i==
.źródło
W języku typowanym statycznie Go
:=
jest inicjalizacją i przypisywaniem w jednym kroku. Ma to na celu umożliwienie tworzenia zmiennych w sposób podobny do interpretacji w języku kompilowanym.źródło
Niektóre języki
:=
działają jako operator przypisania.źródło
Inna interpretacja spoza świata języków programowania pochodzi z Wolfram Mathworld i wsp .:
Jeśli A i B są równe z definicji (tj. A jest zdefiniowane jako B), to jest to zapisane symbolicznie jako A = B, A: = B lub czasami A≜B.
■ http://mathworld.wolfram.com/Defined.html
■ /math/182101/andard-notation-equiv-versus
źródło
To jest stara (pascalowa) składnia operatora przypisania. Byłoby to używane w następujący sposób:
Może być również w innych językach, prawdopodobnie w podobnym użyciu.
źródło
W wielu książkach CS jest używany jako operator przypisania, aby odróżnić go od operatora równości
=
. Jednak w wielu językach wysokiego poziomu przypisanie jest=
i równość==
.źródło
Jest jak strzałka bez użycia symbolu mniejszego niż <=, tak jak wszyscy już powiedzieli operator „przypisania”. Zapewnienie jasności co do tego, co jest ustawiane, w przeciwieństwie do logicznego operatora równoważności.
W matematyce jest jak równa się, ale A: = B oznacza, że A jest zdefiniowane jako B, potrójna kreska równa się może być użyta, aby powiedzieć, że jest podobny i równy z definicji, ale nie zawsze to samo.
W każdym razie wskazuję na te inne odniesienia, które prawdopodobnie były w umysłach tych, którzy go wymyślili, ale tak naprawdę jest po prostu to, że płaszczyzna równa się, a mniej, że równa się została wzięta (lub potencjalnie łatwo pomylona z = <) i potrzebne było coś nowego do zdefiniowania przypisania i to miało największy sens.
Odniesienia historyczne: Po raz pierwszy zobaczyłem to w SmallTalk, oryginalnym języku obiektowym, z którego SJ firmy Apple skopiował tylko część systemu Windows, a BG firmy Microsoft jeszcze bardziej je rozwodnił (jednowątkowy). Ostatecznie SJ w NeXT wziął drugą ważniejszą lekcję od Xerox PARC w, która stała się celem C.
No cóż, po prostu wzięli operator asymilacji równości okrężnicy z ALGOL 1958, który został później spopularyzowany przez Pascala
https://en.wikipedia.org/wiki/PARC_(company)
https://en.wikipedia.org/wiki/Assignment_(computer_science)
https://en.wikipedia.org/wiki/Referential_transparency
źródło
W przypadku VB.net
konstruktor (w tym przypadku Me = this w Javie):
kiedy tworzysz ten obiekt:
Wtedy, niezależnie od kolejności parametrów, ten obiekt ABC ma A = 2, B = 3, C = 1
Tak więc, bardzo dobra praktyka dla innych, aby efektywnie czytać Twój kod
źródło
Colon-equals był używany w Algolu i jego potomkach, takich jak Pascal i Ada, ponieważ jest tak blisko, jak ASCII zbliża się do symbolu strzałki w lewo.
Dziwna konwencja używania równych sobie do przypisania i podwójnie równych do porównań została zapoczątkowana w języku C.
W Prologu nie ma różnicy między przypisaniem a testem równości.
źródło
<-
tak, jak zrobił to Haskell. Nie próbowali zbliżyć się do lewej strzałki:=
, używali matematycznego „jest zdefiniowany jako„ operator: mathworld.wolfram.com/Defined.html:=
, to by użyli<-
.