Ters eğik çizgi “\” kaçış karakteri gerçekten kaçar?


13

Ters eğik çizgi gerçekten kaçıyor?

Kaçan bir karakter olarak kullanılır. Ama her zaman neyin kaçtığını ya da neyin kaçtığını merak ediyorum.

Biliyorum "\ n" yeni bir çizgi belirtir. Ama kaçan nereye geliyor? Neden buna denir?


15
Tellerimi vidaladığında gazabımdan kaçıyor.
Joel Etherton

Yanıtlar:


37

Ters eğik çizgi, derleyiciye / yorumlayıcıya bir sonraki karakterin özel bir anlamı olduğunu söylemek için bir işaret karakteri olarak kullanılır. Bir sonraki karakterin anlamı uygulamadır. Örneğin C tarzı diller, yeni satır için \ n, sekme için \ t kullanır.

"Kaçış" kelimesinin kullanımı gerçekten geçici olarak metnin ayrıştırılmasından ve sonraki karakterin farklı şekilde ele alındığı başka bir moda geçmesi anlamına gelir.


8
Karaktere bağlı olarak, ters eğik çizgi derleyiciye / yorumlayıcıya aşağıdaki karakterin özel bir anlamı olmadığını söylüyor olabilir . Örneğin, tırnak işaretlerinden kaçarken.
Ryan Kinal

12
Veya kendinden kaçıyor.
Malfist

12

:))

Bir kaçış dizisi ve bir Esc (kaçış) tuşu ile ilgili bir terimdir .

Karakterin kendisi başka herhangi bir karakterden "kaçmıyor". Kaçış karakterini takip eden karakterin (örneğin, örneğinizden \ n ) bazı uygulamalarda sıradan n olarak kullanılmasının kaderinden kaçtığını ve bunun yerine satırsonu olarak kullanıldığını söyleyebiliriz .


3

Kaçış dizilerinin bant dışı iletişim kavramı ile çok ortak noktası vardır :

Ayrıca bazen insanların birçok terminal için kontrol sekanslarına öncülük eden ESC veya eski 5 bit Baudot kodlarındaki seviye kaydırma göstergeleri gibi vardiya karakterleri olarak adlandırdığı iletişimleri tanımlamak için kullanılır.

Diyelim ki bir seri bağlantı noktası üzerinden dosya aktarımı yapıyorsunuz ve diğer taraftaki bilgisayarla anlaşıyorsunuz: "Tamam, işte dosya geliyor". Genel durumda tüm karakterler geçerli dosya karakterleri olabileceğinden (ASCII dosyasıysa) bazı sorunlarınız vardır:

  • Akışın sonunun nerede olduğunu nasıl anlarsınız?
  • Bazı şemalar, bazı dillerdeki dizeler gibi sonlandırmak için ASCII NUL (sıfır) kullanır, ancak daha sonra dosyada bu karaktere sahip olamazsınız. Dosya aktarımları gibi bazı ayarlarda buna izin verilmez. Sıfır geçerli bir karakter olabilir.
  • İlk olarak beklenen dosya uzunluğunu gönderebilirsiniz, ancak iptal etmeniz gerekirse ne olur?

Bilgisayar tarihi boyunca çeşitli insanlar bu sorunu çözmek için birçok farklı yöntem uyguladılar.

Bir programlama dilinde gerçek dize durumunda, benzer bir problemdir. İlk alıntı "işte dize geliyor - başka bir teklif alana kadar okumaya başlayın" diyor. Tabii ki, o zaman bir teklif karakteri gönderme probleminiz var, bu yüzden eğik çizgi kaçış dizisini icat ettiler. Bir eğik çizgi ve sonra bir alıntı görürseniz, bu dizenin sonu değil, gerçek bir alıntıdır. Ne yazık ki, bir sinek yemek için bir örümceği yuttunuz, çünkü şimdi gerçek eğik çizgi alıntı kombinasyonunu gönderemezsiniz. Böylece, bir eğik çizgiyle başka bir eğik çizgiden kaçabilirsiniz. Yani eğik çizgi eğik çizgi, eğik çizgi alıntı anlamına gelir. Bu, satır başı, satır beslemeleri, sekmeler vb. Gibi yazdırılamaz veya yazdırılması zor diğer karakterler için eğik çizgi kullanmalarını sağladı.


3

Ayrıştırma bağlamından bir kaçış , yani (ne bir kötü adam) yerine bir nolarak yorumlanmayı talep ediyor .nnewline

Bu konuda en ilginç ayrım bir kaçış olduğunu geçiş değil içerik-bir alıntı karakter yolunu ayrıştırma ", (ya da diğer birçok semboller) yapacağını başka gerektiren "eski bağlamda geri almak için (veya başka bir sembol). Biraz saptırıyorlar ama en kısa sürede yola geri dönüyorlar.

Yine de artık xml ve json'un ortaya çıkışından beri kimse ayrıştırıcı yazdığı kadar bağlamları ayrıştırma hakkında artık konuşmuyor. Bazı problemler ana akım olmayı bırakıyor, bir niş içine giriyor ve bunun gibi garip niş kavramları varlığını sürdürüyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.