Tidak mungkin menempatkan nol setelah aleph?

144

Saya dan seorang teman bercanda tentang aleph. Setelah mencoba mengetik א 0 (mengganti 2 karakter itu), mereka beralih sendiri! Urutan simbol apa pun tidak menghentikan efek ini. Kenapa ini!??

Coba ketik ini dengan 0 dan א terbalik (c & p untuk א):

א 0

א - 0

א \\ 0

א -. / 0

Namun kata-kata memisahkan mereka

א foobar 0

Saya menggunakan linux arch dan belum mengujinya pada OS lain

EDIT: Angka tidak harus nol. Ini bekerja dengan angka, tetapi bukan huruf.

Gman Smith
sumber
14
Pada pandangan pertama saya pikir Anda gila. Ternyata itu hanyalah sebuah artefak tentang bagaimana berbagai arah bahasa digunakan. Pertanyaan bagus!
6
Untuk menulis teks Ibrani, urutan ini masuk akal. Kalau tidak, akan sangat menjengkelkan untuk mengetik hal-hal seperti ב-5 דקות(dalam 5 menit).
ugoren
7
@jamesqf: Dan ada satu, lihat posting IllidanS4.
grawity
28
@ jamesqf, huruf Ibrani ada di Unicode untuk menulis bahasa Ibrani. Dan saya berani mengatakan ada lebih banyak dari kita yang menulis bahasa Ibrani (sekitar 7 juta) daripada mereka yang menulis tentang kardinalitas.
ugoren
27
@ugoren menurut beberapa hitungan ada 130k ahli matematika , tetapi sebenarnya, matematika adalah bahasa universal, jadi benar-benar ada ℵ₀.
Nick T

Jawaban:

111

'א', 'HEBREW LETTER ALEF' (U + 05D0) memiliki kelas BIDI (bi-directional) "Kanan-ke-Kiri [R]", karena bahasa Ibrani secara tradisional ditulis dari kanan ke kiri. Digit, di sisi lain, tidak memiliki directionality khusus ditugaskan untuk mereka, sehingga seluruh bungkusan aleph dan nol ditafsirkan sebagai kanan-ke-kiri. Dalam hal ini, karakter berikut mungkin tidak harus terletak di sebelah kanan karakter sebelumnya, seperti aturan bi-directional Unicode yang agak rumit menentukan.

Anda memiliki beberapa opsi untuk mengatasi masalah ini.

  1. Anda dapat menggunakan 'ℵ', 'ALEF SYMBOL' (U + 2135) . Ini adalah simbol dan memiliki properti kiri-ke-kanan: ℵ0.

  2. Alih-alih angka yang biasa 0, Anda dapat menggunakan karakter seperti-nol dengan arah kiri-ke-kanan, seperti '〇', 'IDEOGRAPHIC NUMBER ZERO' (U + 3007) .

  3. Cara terbersih adalah menggunakan karakter 'LEFT-TO-RIGHT MARK' (U + 200E) ( Wikipedia ) setelah aleph: "א 0". Ini adalah karakter lebar nol yang tidak terlihat yang didefinisikan memiliki directionalitas kiri-ke-kanan. Dengan demikian, ia memiliki efek yang sama pada algoritma tata letak teks dua arah seperti menyisipkan, katakanlah, huruf Latin kiri-ke-kanan setelah א, kecuali bahwa tidak ada huruf yang terlihat akan muncul di sana.

IllidanS4
sumber
69
Dalam konteks matematika (yang saya harapkan demikian), U + 2135 adalah karakter yang tepat untuk digunakan.
cmbuckley
10
Anda harus berhati-hati dengan penggantian - di mana Anda menempatkannya dalam teks, penting untuk menghapusnya (menggunakan karakter "pop directional formatting" U+202C) ketika contex yang Anda ingin mereka operasikan selesai.
J ...
4
Selain itu, karakter "override" agak berlebihan, "embedding" sudah cukup untuk kasus penggunaan ini. Ada juga kelas baru yang disebut "isolate", tidak yakin apa bedanya dalam situasi ini.
Random832
4
Saya akan merekomendasikan bertukar 2 dan 3.
wizzwizz4
10
@ Random832 Semua itu berlebihan. Yang Anda butuhkan hanyalah tanda kiri-ke-kanan (U + 200E) antara alef dan nol. Dengan begitu Anda juga tidak perlu karakter "pop" tambahan.
Ilmari Karonen
198

Aleph ( U + 05D0 ) adalah huruf Ibrani, dan bahasa Ibrani ditulis dari kanan ke kiri, jadi Unicode menetapkannya sebagai kelas dua arah "Kanan ke Kiri". (Lihat Unicode TR9: Algoritma Dua Arah untuk lebih jelasnya.)

Huruf Latin tentu saja "Kiri-ke-Kanan". Namun, nol ( U + 0030 ) berada dalam kelas dua arah "Nomor Eropa", yang merupakan kelas lemah - sementara LtR secara default, dapat beralih ke RtL jika ada karakter Kanan-ke-Kiri "kuat" sebelum itu. (Lihat Jenis Karakter Dua Arah dan Mengatasi Jenis Lemah di TR9.)

Akibatnya, arah sebelum dan sesudah ditukar untuk seluruh kata - jika Anda meletakkan nol 'sebelum', itu akan muncul di sebelah kanan; jika Anda menulis nol 'setelah' aleph, itu akan muncul di sebelah kiri.

grawity
sumber
14
Ini adalah masalah yang sangat umum di sejumlah editor teks dan situs web ketika mengetik dalam bahasa Ibrani - Saya membayangkan itu juga berlaku untuk bahasa kanan-ke-kiri lainnya. Ini tentu saja menjadi lebih baik dari waktu ke waktu, tetapi bayangkan mencoba untuk menulis masalah kata - bolak-balik antara kata-kata Ibrani (seperti karakter aleph) dan angka (seperti karakter 0) berulang kali ...
Jake
3
@ Walt Sebagian besar buku teks yang pernah saya lihat adalah tipe "perendaman", yang menggunakan bahasa Ibrani yang sangat sederhana tetapi hampir semuanya bahasa Ibrani. Mungkin tampak kontra-intuitif untuk menggunakan bahasa untuk mengajar bahasa tersebut, tetapi memungkinkan untuk peningkatan keterampilan bahasa yang lebih organik. Anda mungkin melihat transliterasi atau terjemahan inline (sesuatu seperti lh4.ggpht.com/-_Vc8TUDwznQ/UlhaLFjnrGI/AAAAAAAAQQ/_zm4BMC0aLw/… - "Shalom Kita Aleph" = "Halo Kelas Pertama")
Jake
1
@ Jake Ah, itu masuk akal. Satu-satunya bahasa asing yang benar-benar saya ambil adalah bahasa Latin; buku pelajaran kami cenderung sebagian besar bahasa Inggris dengan satu potongan teks Latin untuk menguraikan setiap bab, sampai seluruh format kelas beralih dari "belajar bahasa Latin" menjadi "menerjemahkan seluruh puisi epik ini, sedikit demi sedikit, melalui kursus tahun sekolah ".
Tin Man
5
@ Walt: Saya pikir mungkin ada kesalahpahaman. Jika saya mengetik kata latin (LTR), lalu kata Ibrani (RTL), lalu kata latin lainnya, saya bisa dengan bebas memasukkan semuanya dalam satu kalimat, dan hanya kata Ibrani yang menerjemahkan RTL. Itu semua dirancang agar mudah masuk dalam kalimat yang sama. Masalahnya adalah bahwa nomor 0tersebut digunakan oleh kedua bahasa LTR dan RTL, dan perangkat lunak hanya membuatnya ke arah yang sama dengan huruf sebelumnya. Jika mengikuti karakter LTR, itu LTR. Jika mengikuti huruf RTL, itu RTL. Ada juga penggantian untuk menukarnya. fileformat.info/info/unicode/char/202d/index.htm
Mooing Duck
4
Angka nol tidak menjadi RTL - itu masih LTR, dan urutan angka akan muncul dari kiri ke kanan bahkan dengan bahasa Ibrani di sekitarnya, tetapi tingkat penyisipan berinteraksi sedemikian rupa sehingga angka nol muncul di sebelah kiri jendela. Karakter Ibrani sebelumnya dalam urutan memori. (Unicode bidirectionality rumit.)
user2357112
20

Mungkin, cara yang lebih baik untuk mencapai ini adalah dengan:

echo -e "\u200F0א"

Dan referensi xkcd wajib https://xkcd.com/1137/

LTR

wvxvw
sumber
14

Sangat mungkin untuk memiliki nol di depan seperti yang ditunjukkan pada contoh berikut yang dibuat di Notepad ++.

Alef dengan 0

Apa yang Anda lihat dan juga menjadi jelas jika Anda mencoba menandai karakter dalam pertanyaan Anda, adalah bahwa bahasa Ibrani dituliskan dari kanan ke kiri dan (karena 0 terhubung langsung) teks ditangani dalam kanan ke kiri (bukan kiri ke kanan) dengan cara.

Lihat contoh kedua untuk masalah yang dimiliki Firefox (pada saya) dengan pilihan yang jelas.

Firefox memilih teks kanan ke kiri

Seth
sumber
17
Ini adalah saran yang mengerikan, karena ia memainkan permainan dengan pemesanan karakter aktual untuk mendapatkan pemesanan visual tertentu. Jawaban lain menjelaskan mengapa ini terjadi dan beberapa menyertakan cara yang tepat untuk menghadapinya (tanda pengesampingan dan arah eksplisit).
Dranon
8
Bisakah Anda menunjukkan di mana saya termasuk beberapa bentuk saran? Saya hanya menunjukkan contoh dari apa yang terjadi, bahwa memang mungkin untuk memiliki angka akhiran dan memberikan informasi tentang mengapa hal itu terjadi seperti itu.
Seth
13

Bahasa Ibrani dituliskan dari kanan ke kiri - ini membuat karakter aleph membawa informasi, bahwa karakter berikutnya harus dicetak ke kiri darinya.

Jika Anda mengecek dokumen Anda (atau memindahkan kursor ke teks Anda dengan tombol panah di editor yang sesuai), Anda akan melihat, bahwa Anda membuka alpeh terlebih dahulu, kemudian ke digit.

Yaitu: Asumsi "karakter berikutnya == karakter ke kanan" tidak berlaku.

Eugen Rieck
sumber
3
א 0 0 א 0-א א -0

Masalahnya adalah di mana Anda melakukan ini, dan implementasinya. Untuk mendapatkan perilaku angka-Ibrani semua karakter harus dalam arah kanan-ke-kiri. Dalam HTML / CSS itu adalah:

<p style="direction:rtl"> א0 0א 0-א א-0 </p>

Dalam Sistem Operasi, bahasa Ibrani dan bi-directionality harus diaktifkan.

Penanganannya dengan menyarankan penggunaan karakter lain sebagai pengganti, mengalahkan tujuan Unicode. Aleph sebagai operator matematika mungkin terlihat sama dalam beberapa set karakter, tetapi merupakan karakter yang sama sekali berbeda dari aleph Ibrani, baik dalam konteks dan bagaimana ia akan diurai. Misalnya, pengeras suara / komputer berbahasa Ibrani tidak akan memprosesnya dengan benar jika digunakan bersama dengan kata Ibrani. Angka dan karakter non-alfa adalah masalah ketika mereka sendiri tidak diberi pengodean terarah yang sama dengan karakter alfa. Jadi, ironisnya, angka-angka itu sendiri sementara tampaknya harus independen dari set karakter / arah, mengambil arah unicode apa pun dari surat sebelumnya. Jadi dalam sebuah dokumen Ibrani - angka-angkanya menjadi 'Hebraisisasi' yaitu arah seperti Ibrani. Sedangkan dokumen bahasa Inggris-Latin,

Danny F
sumber
OP sedang mencoba menggunakan aleph sebagai operator numerik, bukan?
grawity
Yah, itu tidak jelas di pos sama sekali. Dalam setiap kasus, arah tidak seharusnya relevan. Aleph digunakan dalam notasi himpunan dan memiliki penunjukan seri tak terhingga. Seharusnya arah ke kiri ke kanan karena semua matematika dibiarkan ke kanan terlepas dari bahasa apa yang Anda gunakan. Namun menggunakan aleph sebagai karakter dalam bahasa Ibrani diatur ke kanan ke kiri.
Danny F
2

Itu mungkin:

א 0

א - 0

א \\ 0

א -. / 0

א foobar 0

(Jawaban ini tidak menjawab "mengapa ini", karena sudah dijawab oleh orang lain. Tetapi menjawab pertanyaan dalam judul, "mustahil untuk ...?")

pengguna23013
sumber
7
Tetapi itu juga tidak menjawab BAGAIMANA, dan karenanya hampir tidak berguna.
NH.