Articulo de referencia

Signo de intercalación

Caret ( del latín caret ' le falta ' ) [ 1 ] es el nombre que se usa comúnmente para el carácter ^ que se obtiene en la mayoría de los teclados QWERTY al escribir + . El símbolo...

Caret ( del latín caret ' le falta ' ) [ 1 ] es el nombre que se usa comúnmente para el carácter ^ que se obtiene en la mayoría de los teclados QWERTY al escribir + . El símbolo tiene diversos usos en programación y matemáticas. El nombre "caret" surgió de su similitud visual con el acento circunflejo original del corrector de pruebas , , una marca que se usaba en la corrección de pruebas 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 " circunflejo "; [ 2 ] el estándar Unicode lo llama "acento circunflejo", aunque ya no es práctico usarlo para ese propósito. ⇧ Shift6

Historia

máquinas de escribir

Máquina de escribir con teclado francés (AZERTY): , , , tienen teclas dedicadas; los acentos circunflejo y diéresis tienen teclas muertas.àèéçù

En las máquinas de escribir diseñadas para idiomas que usan habitualmente diacríticos (acentos), hay dos maneras posibles de escribirlos: se pueden dedicar teclas a caracteres precompuestos (con el diacrítico incluido); o bien, 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 del papel no se mueve y, por lo tanto, la siguiente letra que se va a escribir se imprime debajo del acento. El símbolo ^ se incluyó originalmente en las máquinas de escribir e impresoras de ordenador para que los acentos circunflejos pudieran sobreimprimirse en las letras (como en ô o ŵ ).

Transposición a ISO/IEC 646 y ASCII

La incorporación del símbolo circunflejo a ASCII es consecuencia de su existencia previa en las máquinas de escribir: este símbolo no existía de forma independiente como carácter de impresión tipográfica o de plomo 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 variación nacional, [ a ] con el diacrítico circunflejo ^ como predeterminado y la flecha hacia arriba como uno de los usos alternativos. [ 3 ] En 1967, la segunda revisión de ASCII siguió el mismo camino. [ 4 ] 

El acento circunflejo comparado con el acento circunflejo en minúscula

La sobreimpresión para añadir un acento no siempre fue bien soportada por las impresoras, y casi nunca fue posible en terminales de vídeo. El acento circunflejo independiente (que pasó a llamarse circunflejo) se reutilizó rápidamente para muchos otros fines, como en lenguajes informáticos y notación matemática. Como el acento ya no necesitaba ajustarse encima de una letra, su apariencia se hizo más grande, de modo que ya no se puede utilizar para sobreimprimir un acento en la mayoría de las fuentes. [ 5 ] Finalmente, se llegó a proporcionar soporte para caracteres acentuados mediante la inclusión de caracteres precompuestos en los conjuntos de caracteres, [ b ] en lugar de mediante la sobreimpresión.

Usos

Lenguajes de programación

El símbolo ^ tiene muchos usos en lenguajes de programación , donde generalmente se le llama circunflejo. Puede representar la exponenciación , el operador XOR bit a bit, la concatenación de cadenas [ 6 ] y caracteres de control en notación de circunflejo , entre otros usos. En expresiones regulares , el circunflejo se usa para coincidir con el inicio de una cadena o línea; si comienza una clase de caracteres, entonces se debe coincidir con la inversa de dicha clase.

ANSI C puede transcribir el circunflejo en forma de trigrafo??' , ya que el carácter originalmente no estaba disponible en todos los conjuntos de caracteres y teclados. C++ admite además tokens como xor(para ^) y xor_eq(para ^=) para evitar el carácter por completo. RFC 1345 recomienda que el carácter se transcriba como digrafo cuando sea necesario. [ 7 ] '>

Pascal utiliza el circunflejo para declarar y desreferenciar punteros . En Smalltalk , el circunflejo es la instrucción de retorno de método. En C++/CLI , se accede a los tipos de referencia de .NET mediante un identificador utilizando la sintaxis. En las extensiones de CClassName^ de Apple para Mac OS X e iOS, los circunflejos se utilizan para crear bloques y para denotar tipos de bloques. Go lo utiliza como operador NOT bit a bit .

Node.js utiliza el circunflejo 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 circunflejo permite cualquier tipo de actualización, a menos que se considere una actualización "mayor" según lo define semver . [ 8 ]

Símbolo sustituto para superíndice y exponenciación

En matemáticas , el acento circunflejo puede indicar exponenciación (por ejemplo, para3^5 3⁵ ) cuando 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 acento circunflejo para la exponenciación se remonta a ALGOL 60 , 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. Actualmente, la flecha que apunta hacia arriba se utiliza para indicar hiperoperaciones en la notación de flecha hacia arriba de Knuth , donde una sola flecha representa la exponenciación y varias flechas adyacentes representan operaciones de nivel superior.

Personaje de escape

A menudo se ve en la notación de intercalación para mostrar caracteres de control: por ejemplo, ^Asignifica el carácter de control con valor 1.

El intérprete de línea de comandos de Windows ( cmd.exe ) utiliza el circunflejo 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 .^<

Flecha que apunta hacia arriba

En foros de internet , en redes sociales como Facebook o en chats en línea , se puede usar uno o más acentos circunflejos debajo del texto de otra publicación, que representan una flecha que apunta hacia arriba a 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 varios acentos circunflejos para indicar que el comentario está respondiendo a, o relacionado con, la publicación anterior que se corresponde con el número de acentos circunflejos usados, 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 de Java, han adoptado un método similar para señalar dónde se ha producido un error de compilación . El compilador imprime la línea de código defectuosa y utiliza un solo punto y coma en la siguiente línea, seguido de espacios, para indicar visualmente la ubicación del error.

Unicode

La asignación ASCII a 0x5E fue heredada por Unicode. Los caracteres circunflejos y caracteres relacionados y similares en Unicode incluyen:

Véase también

Notas

  1. ISO 646 (y ASCII, que incluye) es un estándar para la codificación de 7 bits, que proporciona solo 96 caracteres imprimibles (y 32 caracteres de control ). Esto era insuficiente para satisfacer las necesidades de las lenguas de Europa Occidental, por lo que el estándar especifica ciertos puntos de código que están disponibles para la variación nacional.
  2. Por ejemplo en ISO Latin-1

Referencias

  1. "Etimología de 'caret'"Diccionario etimológico en línea . Douglas Harper . Consultado el 22 de octubre de 2024 .
  2. "Estándar Nacional Estadounidense para el Intercambio de Información" (PDF) . Instituto Nacional de Estándares. 1977.(facsímil, no legible por máquina)
  3. "Historiales de caracteres: notas sobre algunas posiciones del código ASCII (5E)" .
  4. Tom Jennings. "ASCII: Código estándar estadounidense para la infiltración de información" . Archivado del original el 21 de agosto de 2014. Consultado el 14 de septiembre de 2010 .
  5. ^ Jukka K. Korpela (18 de enero de 2010). "Kirjainten tarinoita" (PDF) (en finlandés). págs . 132-133 . Consultado el 14 de septiembre de 2010 . 
  6. ^ Milner, Robin ; Tofte, Mads ; Harper, Robert (1990). La definición de ML estándar (PDF) . Prensa del MIT. pag. 88.ISBN  0-262-63132-6.
  7. Simonsen, Keld (junio de 1992). "RFC 1345 – Mnemónicos de caracteres y conjuntos de caracteres" . Grupo de trabajo de ingeniería de Internet . Consultado el 7 de marzo de 2022 .
  8. "Rangos de cursor en node.js" . Archivado del original el 3 de diciembre de 2016. Consultado el 1 de octubre de 2019 .
  9. "¿Qué es Caret?" . Computer Hope . Consultado el 14 de agosto de 2012 .