Caret es el nombre que se usa comúnmente para el carácter ^ que aparece 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 símbolo de intercalación original del corrector de textos , ‸ , un signo utilizado en la corrección de textos para indicar dónde se debe insertar un signo de puntuación, una palabra o una frase en un documento. El estándar ASCII (X3.64.1977) lo llama " acento circunflejo "; [3] el estándar Unicode lo llama " acento circunflejo ", aunque ya no es posible utilizarlo para ese propósito.
En las máquinas de escribir diseñadas para idiomas que utilizan habitualmente diacríticos (acentos), hay dos formas posibles de escribirlos: las teclas pueden estar dedicadas a caracteres precompuestos (con el diacrítico incluido); alternativamente, se puede proporcionar un mecanismo de tecla muerta . Con este último, se hace una marca cuando se pulsa una tecla muerta pero, a diferencia de las teclas normales, el carro de papel no se mueve y, por lo tanto, la siguiente letra que se debe escribir se imprime debajo del acento. El símbolo ^ se proporcionó originalmente en las máquinas de escribir e impresoras de computadora para que los acentos circunflejos pudieran sobreimprimirse en las letras (como en ô o ŵ ).
La incorporación del símbolo circunflejo al ASCII es una consecuencia de esta existencia previa en las máquinas de escribir: este símbolo no existía de forma independiente como un tipo o un carácter de impresión en caliente . La versión original de 1963 del estándar ASCII utilizaba el punto de código 0x5E para una flecha hacia arriba ↑ . Sin embargo, el estándar ISO/IEC 646 de 1965 definió el punto de código 0x5E como uno de los cinco disponibles para la variación nacional, [a] con el diacrítico circunflejo ^ como predeterminado y la flecha hacia arriba como uno de los usos alternativos. [4] En 1967, la segunda revisión del ASCII siguió su ejemplo. [5]
La sobreimpresión para añadir un acento no siempre fue bien admitida por las impresoras y casi nunca fue posible en las terminales de vídeo. En su lugar, con el tiempo se crearon caracteres precompuestos para mostrar las letras acentuadas. [b] El acento circunflejo independiente (que había llegado a llamarse intercalación) se reutilizó rápidamente para muchos otros fines, como en los lenguajes informáticos y la notación matemática. Como el signo ya no necesitaba caber sobre una letra, se hizo más grande en apariencia, de modo que ya no se puede utilizar para sobreimprimir un acento en la mayoría de las fuentes. [6]
En Unicode, el símbolo se codifica como U+005E ^ ACENTO CIRCUNFLEJO ; en HTML, se puede utilizar directamente o insertar con . El carácter de combinación para usar como diacrítico es U+0302 ◌̂ ACENTO CIRCUNFLEJO COMBINADO , aunque hay caracteres precompuestos (como U+00E2 â LETRA A MINÚSCULA LATINA CON ACENTO CIRCUNFLEJO ) disponibles para la mayoría de los idiomas europeos. ^
El símbolo ^ tiene muchos usos en los lenguajes de programación , donde normalmente se lo llama cursor. Puede significar exponenciación , el operador XOR bit a bit, concatenación de cadenas [ cita requerida ] y caracteres de control en notación de cursor , entre otros usos. En expresiones regulares , el cursor se usa para hacer coincidir el comienzo de una cadena o línea; si comienza una clase de caracteres, entonces se debe hacer coincidir el inverso de la clase.
ANSI C puede transcribir el símbolo de intercalación en forma de trígrafo ??'
, ya que el carácter originalmente no estaba disponible en todos los conjuntos 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 utiliza el cursor para declarar y desreferenciar punteros . En Smalltalk , el cursor es la declaración de retorno del método. En C++/CLI , se accede a los tipos de referencia de .NET a través de un identificador utilizando la sintaxis. En las extensiones CClassName^
de Apple para Mac OS X e iOS, los cursores se utilizan para crear bloques y para indicar tipos de bloques. Go lo utiliza como un operador NOT bit a bit .
Node.js utiliza 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 definido por 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 es fácilmente utilizable (como en algunas calculadoras gráficas ). También se utiliza para indicar un superíndice en la composición tipográfica TeX .
El uso del símbolo de intercalación para la exponenciación se remonta a ALGOL 60 , [ cita requerida ] 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 se utiliza ahora para indicar hiperoperaciones en la notación de flecha hacia arriba de Knuth .
Se ve a menudo en la notación de cursor para 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 caracteres reservados (la mayoría de los demás intérpretes de comandos utilizan la barra invertida ). Por ejemplo, para pasar un signo de "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; [9] además del uso de la flecha, también puede significar que el usuario que publicó el ^ está de acuerdo con la publicación anterior. Se pueden usar múltiples 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 requerida ] El compilador imprime la línea de código defectuosa y utiliza un solo signo de intercalación en la línea siguiente, rellenado con espacios, para dar una indicación visual de la ubicación del error.