Pregunta ¿Imposible poner un cero después de un aleph?


Yo y un amigo estábamos bromeando sobre Aleph. Al intentar escribir א 0 (cambiar esos 2 caracteres), se cambiaron ellos mismos. Cualquier secuencia de símbolos no detiene este efecto. ¿¿¡Por qué es esto!??

Intente escribir estos con 0 y א invertidos (c y p para א):

א 0

א - 0

א \\\ 0

א -. / 0

Las palabras sin embargo los separan

א foobar 0

Estoy en arch Linux y aún no lo he probado en ningún otro sistema operativo

EDITAR: El número no tiene que ser cero. Funciona con números, pero no con letras.


143


origen


A primera vista, pensé que estabas loco. Resulta que es simplemente un artefacto de cómo se usan las diferentes direcciones de idiomas. Gran pregunta!
Para escribir un texto hebreo, este orden tiene sentido. De lo contrario, sería más molesto escribir cosas como ב-5 דקות (en 5 minutos). - ugoren
@jamesqf: Y hay uno, mira la publicación de IllidanS4. - grawity
@jamesqf, existen letras hebreas en Unicode para escribir hebreo. Y me atrevo a decir que hay más de nosotros que escriben hebreo (7 millones más o menos) que aquellos que escriben sobre cardinalidades establecidas. - ugoren
@ugoren por algunos cuenta hay 130k matemáticos, pero en verdad, las matemáticas son el lenguaje universal, entonces realmente hay ℵ₀. - Nick T


Respuestas:


'א', 'LETRA HEBREA ALEF' (U + 05D0) tiene la clase BIDI (bidireccional) "De derecha a izquierda [R]", porque el hebreo se escribe tradicionalmente de derecha a izquierda. Los dígitos, por otro lado, no tienen asignada una direccionalidad específica, por lo que todo el fragmento de aleph y cero se interpreta como de derecha a izquierda. En este caso, el siguiente carácter no necesariamente se ubicará a la derecha del carácter anterior, como dictan las reglas bidireccionales bastante complejas de Unicode.

Tiene varias opciones para solucionar este problema.

  1. Puedes usar 'ℵ', 'ALEF SYMBOL' (U + 2135). Es un símbolo y tiene la propiedad de izquierda a derecha: ℵ0.

  2. En lugar del dígito habitual 0, puede usar un carácter de tipo cero con direccionalidad de izquierda a derecha, como '〇', 'NÚMERO IDEOGRÁFICO CERO' (U + 3007).

  3. La forma más limpia es usar el 'MARCA IZQUIERDA A DERECHA' (U + 200E) personaje (Wikipedia) después del aleph: "א 0". Este es un carácter invisible de ancho cero que se define para tener direccionalidad de izquierda a derecha. Por lo tanto, tiene el mismo efecto en el algoritmo de diseño de texto bidireccional que insertar, por ejemplo, una letra latina de izquierda a derecha después del א, excepto que no aparecerá ninguna letra visible allí.


110



En un contexto matemático (que espero que sea), U + 2135 es el caracter correcto para usar. - cmbuckley
Debe tener cuidado con las anulaciones: cuando las coloca en texto, es importante eliminarlas (utilizando el carácter de "formateo direccional pop" U+202C) cuando finaliza el contexto en el que desea que operen. - J...
Además, los caracteres "anular" son un poco exagerados, "incrustación" es suficiente para este caso de uso. También hay una nueva clase llamada "aislar", no estoy seguro de cuál es la diferencia en esta situación. - Random832
Recomiendo intercambiar 2 y 3. - wizzwizz4
@ Random832 Todos esos son overkill. Todo lo que realmente necesitas es un marca de izquierda a derecha (U + 200E) entre el alef y el cero. De esta forma, no necesitas ningún personaje extra "pop". - Ilmari Karonen


Aleph (U + 05D0) es una letra hebrea, y el hebreo se escribe de derecha a izquierda, por lo que Unicode le asigna la clase bidireccional "de derecha a izquierda". (Ver Unicode TR9: Algoritmo bidireccional para más detalles.)

Las letras latinas son, por supuesto, de "izquierda a derecha". Sin embargo, cero (U + 0030) está en la clase bidireccional "Número europeo", que es una débiles clase - mientras LtR por defecto, puede cambiar a RtL si hay un carácter "fuerte" de derecha a izquierda antes. (Ver Tipos de caracteres bidireccionales y Resolución de tipos débiles en TR9.)

Como resultado, las instrucciones de antes de y después se cambian por la palabra completa; si coloca el cero 'antes', se mostrará a la derecha; si escribe el aleph cero 'after', se mostrará a la izquierda.


197



Este es un problema extremadamente común en varios editores de texto y sitios web cuando se escribe en hebreo: imagino que también es cierto para otros idiomas de derecha a izquierda. Ciertamente, se mejoró con el tiempo, pero imagine tratar de escribir un problema verbal: alternar entre las palabras hebreas (como el carácter aleph) y los números (como el carácter 0) repetidamente ... - Jake
@Walt La mayoría de los libros de texto que he visto son del tipo "inmersión", que usan hebreo extremadamente simple pero casi totalmente hebreo. Puede parecer contra-intuitivo usar un lenguaje para enseñar el idioma, pero permite una acumulación más orgánica de habilidades lingüísticas. Es posible que vea una transliteración o traducción en línea (algo así como lh4.ggpht.com/-_Vc8TUDwznQ/UlhaLFjnrGI/AAAAAAAAzQk/_zm4BMC0aLw/... - "Shalom Kita Aleph" = "Hola primer grado") - Jake
@Jake Ah, eso tiene sentido. El único idioma extranjero que realmente tomé fue el latín; nuestros libros de texto solían ser en su mayoría en inglés con un solo fragmento de texto en latín para descifrar cada capítulo, hasta que todo el formato de la clase pasó de "aprender latín" a "traducir todo este poema épico, de a poquito, durante el curso de el año escolar". - Walt
@Walt: Creo que puede haber un malentendido. Si escribo una palabra latina (LTR), luego una palabra hebrea (RTL), y luego otra palabra latina, puedo tenerlas todas libremente en una oración, y solo la palabra hebrea representa RTL. Está diseñado para encajar fácilmente en la misma oración. El problema es que el número 0 es utilizado por ambos lenguajes, LTR y RTL, por lo que el software simplemente lo hace en la misma dirección que la letra anterior. Si sigue los caracteres LTR, es LTR. Si sigue las letras RTL, es RTL. También hay anulaciones para cambiarlo. fileformat.info/info/unicode/char/202d/index.htm - Mooing Duck
El cero no se está convirtiendo en RTL, sigue siendo LTR, y una secuencia de dígitos aparecerá de izquierda a derecha incluso con el hebreo a su alrededor, pero los niveles de incrustación interactúan de tal forma que el cero aparece a la izquierda del Carácter hebreo que lo precede en orden de memoria. (La bidireccionalidad Unicode es complicada). - user2357112


Tal vez, una mejor forma de lograr esto sería:

echo -e "\u200F0א"

Y la referencia obligatoria xkcd https://xkcd.com/1137/

‮LTR


18





El hebreo se escribe de derecha a izquierda: esto hace que el carácter aleph lleve la información, que el siguiente carácter se debe imprimir izquierdade eso

Si revisa su documento de forma hexadecimal (o mueve el cursor a través de su texto con las teclas de flecha en un editor adecuado), notará que primero llega al primero, luego al dígito.

Es decir: la suposición "siguiente carácter == carácter a la derecha" no se cumple.


14





Es perfectamente posible tener un cero en frente como se muestra en el siguiente ejemplo que se hizo en Notepad ++.

Alef with 0

Lo que está viendo y también se vuelve aparente si trata de marcar al personaje en su pregunta, es que el hebreo está escrito de derecha a izquierda y (como el 0 está directamente conectado) el texto se maneja de derecha a izquierda (en lugar de izquierda a la derecha) manera.

Vea el segundo ejemplo del problema que Firefox (en mi extremo) tiene con una selección clara.

Firefox selecting a right to left text


14



Este es un consejo terrible, ya que juega juegos con el orden de los personajes reales para obtener un orden visual particular. Las otras respuestas explican por qué ocurre esto y algunas incluyen la manera correcta de manejarlo (la anulación y las marcas de dirección explícitas). - Dranon
¿Podría indicarme dónde estoy incluyendo algún tipo de consejo? Simplemente estoy mostrando un ejemplo de lo que sucede, que de hecho es posible tener un sufijo numeral y proporcionar información sobre por qué sucede así. - Seth


Es posible:

א 0

א - 0

א \\ 0

א -. / 0

א foobar 0

(Esta respuesta no respondía "¿por qué es esto?", Como ya fue respondida por otros. Pero responde la pregunta en el título, "¿es imposible ...?")


3



Pero tampoco responde CÓMO, y por eso es casi inútil. - NH.


 א 0 0 א 0-א -0

3



El OP estaba tratando de usar aleph como operador numérico, ¿no? - grawity
Bueno, no estaba claro en el post en absoluto. En cualquier caso, la direccionalidad no debería ser relevante. Aleph se usa en notación de conjunto y tiene una designación de serie infinita e infinita. Debe direccionalmente de izquierda a derecha, ya que todas las matemáticas se muestran de izquierda a derecha, independientemente del idioma que utilice. Sin embargo, el uso de aleph como personaje en hebreo se establece direccionalmente de derecha a izquierda. - Danny F