Caret es el nombre que se usa familiarmente para el carácter ^ (el circunflejo y un acento circunflejo) que se proporciona en la mayoría de los teclados QWERTY al escribir ⇧ Shift+ 6. El símbolo tiene una variedad de usos en programación y matemáticas. El nombre "caret" surgió de su similitud visual con el cursor del corrector original , una marca utilizada en la revisión para indicar dónde se debe insertar un signo de puntuación, palabra o frase en un documento. El estándar formal ASCII (X3.64.1977) lo llama " circunflejo ". [1]
En las máquinas de escribir diseñadas para idiomas que habitualmente utilizan signos diacríticos (acentos), hay dos formas posibles de escribirlos: las teclas se pueden dedicar a caracteres precompuestos (con el signo diacrítico incluido); alternativamente se puede proporcionar un mecanismo de clave muerta . Con este último, se hace una marca cuando se escribe una tecla muerta pero, a diferencia de las teclas normales, el carro del papel no avanza y, por lo tanto, la siguiente letra a escribir se imprime bajo el acento. El símbolo ^ se incluía originalmente en máquinas de escribir e impresoras informáticas para que los acentos circunflejos pudieran sobreimprimirse en las letras (como en ô o ŵ ).
La incorporación del símbolo circunflejo en ASCII es consecuencia de esta existencia anterior en las máquinas de escribir: este símbolo no existía de forma independiente como tipografía o carácter de impresión con plomo caliente . La versión original de 1963 del estándar ASCII usaba el punto de código x5E para una flecha hacia arriba ↑ . Sin embargo, el estándar ISO/IEC 646 de 1965 definió el punto de código x5E como uno de los cinco disponibles para variación nacional, [a] con el circunflejo ^ diacrítico como valor predeterminado y la flecha hacia arriba como uno de los usos alternativos. [2] En 1967, la segunda revisión de ASCII hizo lo mismo. [3]
Las impresoras no siempre admitieron bien la sobreimpresión para agregar un acento y casi nunca fue posible en terminales de video. En cambio, finalmente se crearon caracteres precompuestos para mostrar las letras acentuadas. [b] El circunflejo independiente (que había llegado a llamarse signo de intercalación) rápidamente se reutilizó para muchos otros propósitos, como en lenguajes informáticos y notación matemática. Como ya no era necesario que la marca encajara encima de una letra, su apariencia se hizo más grande, de modo que ya no se puede usar para sobreimprimir un acento. [4] [c]
En Unicode , está codificado como U+005E ^ ACENTO CIRCUMFLEX ; en HTML , se puede insertar con . ^
Este signo de intercalación no debe confundirse con otros caracteres en forma de galón, como la v girada o el AND lógico , que en ocasiones pueden denominarse signos de intercalación. [5] [6]
El símbolo ^ tiene muchos usos en los lenguajes de programación , donde normalmente se le llama signo de intercalación. Puede significar exponenciación , el operador XOR bit a bit, concatenación de cadenas y caracteres de control en notación de intercalación , entre otros usos. En las expresiones regulares , el signo de intercalación se utiliza para hacer coincidir el comienzo de una cadena o línea; si comienza una clase de carácter, entonces se debe hacer coincidir la inversa de la clase.
ANSI C puede transcribir el signo de intercalación en forma de trígrafo ??'
, ya que el carácter originalmente no estaba disponible en todos los juegos de caracteres y teclados. C++ también admite tokens como xor
(for ^
) y xor_eq
(for ^=
) para evitar el carácter por completo. RFC 1345 recomienda que el carácter se transcriba como dígrafo '>
cuando sea necesario. [7]
Pascal usa el símbolo de intercalación para declarar y desreferenciar punteros . En Smalltalk , el símbolo de intercalación es la declaración de retorno del método. En C++/CLI , se accede a los tipos de referencia .NET a través de un identificador utilizando la ClassName^
sintaxis. En las extensiones C de Apple para Mac OS X e iOS, los signos de intercalación se utilizan para crear bloques y para indicar tipos de bloques. Go lo usa como operador NOT bit a bit .
Node.js usa el símbolo de intercalación en los archivos package.json para indicar el comportamiento de resolución de dependencias que se utiliza para cada dependencia en particular. En el caso de Node.js, un símbolo de intercalación permite cualquier tipo de actualización, a menos que se considere una actualización "importante" según lo define semver . [8]
En matemáticas , el signo de intercalación puede significar exponenciación (por ejemplo 3^5
, para 3 5 ) donde el superíndice habitual no se puede utilizar fácilmente (como en algunas calculadoras gráficas ). También se utiliza para indicar un superíndice en la composición tipográfica TeX . Como lo describió Isaac Asimov en su ensayo " Skewered! " de 1974 (sobre el número de Skewes ), "hago del exponente una figura de tamaño normal y es como si estuviera sostenido por una palanca, y su peso añadido cuando su tamaño crece dobla la palanca hacia abajo." [9]
El uso del signo de intercalación para la exponenciación se remonta a ALGOL 60 , [ cita necesaria ] que expresaba el operador de exponenciación como una flecha que apunta hacia arriba, con la intención de evocar la notación de superíndice común en matemáticas. La flecha que apunta hacia arriba ahora se usa para indicar hiperoperaciones en la notación de flecha hacia arriba de Knuth .
A menudo se ve en la notación de intercalación mostrar caracteres de control: por ejemplo, ^A
significa el carácter de control con valor 1.
El intérprete de línea de comandos de Windows ( cmd.exe ) utiliza el símbolo de intercalación para escapar de los caracteres reservados (la mayoría de los demás shells utilizan la barra invertida ). Por ejemplo, para pasar un signo 'menor que' como argumento a un programa, se escribiría ^<
.
En foros de Internet , en sitios de redes sociales como Facebook o en chats en línea , se pueden usar uno o más signos de intercalación debajo del texto de otra publicación, lo que representa una flecha que apunta hacia arriba hacia esa publicación; [10] además del uso de la flecha, también puede significar que el usuario que publicó ^ está de acuerdo con la publicación anterior. Se pueden usar varios signos de intercalación para indicar que el comentario responde o se relaciona con la publicación anterior que se correlaciona con la cantidad de signos de intercalación utilizados, o para "subrayar" la parte correcta de la publicación anterior, o simplemente para enfatizar.
Los compiladores de lenguajes de programación, como el compilador Java, han adoptado un uso similar para señalar dónde se ha producido un error de compilación . [ cita necesaria ] El compilador imprime la línea de código defectuosa y utiliza un solo signo de intercalación en la siguiente línea, rellenado con espacios, para dar una indicación visual de la ubicación del error.