Lo he visto :=
usado en varios ejemplos de código, pero nunca con una explicación adjunta. No es exactamente posible buscar en Google su uso sin saber el nombre adecuado.
¿Qué hace?
operators
colon-equals
Ciclón
fuente
fuente
:=
cuando define algo, para separarlo de los cambios de variable regulares. ¿De qué lenguaje de programación estamos hablando?Respuestas:
http://en.wikipedia.org/wiki/Equals_sign#In_computer_programming
Nota: encontré esto buscando
colon equals operator
fuente
colon equals operator
.colon equals operator
, hacemos magia en el SEO de Google para que este sea el mejor resultadoEs el operador de asignación en Pascal y se usa a menudo en pruebas y pseudocódigo. Es lo mismo que
=
en los lenguajes de dialecto C.Históricamente, los artículos de ciencias de la computación se usaban
=
para comparaciones de igualdad y←
para asignaciones. Pascal solía:=
reemplazar la flecha izquierda difícil de escribir. C tomó una dirección diferente y en su lugar se decidió por los operadores=
y==
.fuente
En el lenguaje de escritura estática, Go
:=
es la inicialización y la asignación en un solo paso. Se hace para permitir la creación de variables interpretadas en un lenguaje compilado.fuente
Algunos lenguajes suelen
:=
actuar como operador de asignación.fuente
Otra interpretación de fuera del mundo de los lenguajes de programación proviene de Wolfram Mathworld , et al:
Si A y B son iguales por definición (es decir, A se define como B), entonces esto se escribe simbólicamente como A = B, A: = B, o algunas veces A≜B.
■ http://mathworld.wolfram.com/Defined.html
■ /math/182101/apropiado-notation-equiv-versus
fuente
Esta es una sintaxis antigua (pascal) para el operador de asignación. Se usaría así:
También puede estar en otros idiomas, probablemente con un uso similar.
fuente
En muchos libros de CS, se utiliza como operador de asignación, para diferenciarlo del operador de igualdad
=
. Sin embargo, en muchos lenguajes de alto nivel, la asignación es=
y la igualdad==
.fuente
Es como una flecha sin usar un símbolo menor que <= como si todos hubieran dicho operador de "asignación". Aportando claridad a lo que se está estableciendo en dónde en contraposición al operador lógico de equivalencia.
En matemáticas es como iguales, pero A: = B significa que A se define como B, se puede usar una barra triple igual para decir que es similar e igual por definición, pero no siempre es lo mismo.
De todos modos, señalo estas otras referencias que probablemente estaban en la mente de aquellos que lo inventaron, pero en realidad es solo que se tomaron planos iguales y menos iguales (o se confundieron potencialmente fácilmente con = <) y se necesitaba algo nuevo para definir la asignación y eso tenía más sentido.
Referencias históricas: Vi esto por primera vez en SmallTalk, el lenguaje de objetos original, del cual SJ de Apple solo copió la parte de Windows y BG de Microsoft se diluyó aún más (de un solo hilo). Finalmente, SJ in NeXT tomó la segunda lección más importante de Xerox PARC en, que se convirtió en Objective C.
Bueno, de todos modos, solo tomaron el operador de asimiento de dos puntos iguales de ALGOL 1958, que luego fue popularizado por Pascal
https://en.wikipedia.org/wiki/PARC_(company)
https://en.wikipedia.org/wiki/Assignment_(computer_science)
https://en.wikipedia.org/wiki/Referential_transparency
fuente
Para VB.net,
un constructor (para este caso, Me = esto en Java):
cuando creas ese objeto:
Entonces, independientemente del orden de los parámetros, ese objeto ABC tiene A = 2, B = 3, C = 1
Entonces, sí, es una muy buena práctica para que otros lean su código de manera efectiva
fuente
Colon-equals se usó en Algol y sus descendientes, como Pascal y Ada, porque es lo más cercano que ASCII llega a un símbolo de flecha izquierda.
La extraña convención de usar iguales para la asignación y dobles iguales para la comparación se inició con el lenguaje C.
En Prolog, no hay distinción entre asignación y prueba de igualdad.
fuente
<-
como lo hizo Haskell. No estaban tratando de acercarse a la flecha izquierda con:=
, estaban usando el operador matemático 'se define como': mathworld.wolfram.com/Defined.html:=
, habrían utilizado<-
.