Znak modyfikacji

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Znak modyfikacji lub znak escape (czyt. eskejp) – w informatyce i telekomunikacji pojedynczy znak powodujący inną niż domyślna interpretację znaku lub sekwencji znaków po nim następujących. Termin sekwencja zmodyfikowana dotyczy łącznie znaku modyfikacji wraz ze znakiem lub sekwencją po nim następującymi. Zwykle takim znakiem jest odwrotny ukośnik "\".

Przykłady[edytuj | edytuj kod]

Powłoka Uniksa[edytuj | edytuj kod]

W powłoce Borne'a symbol "*" jest wieloznacznikiem rozwijanym do listy nazw wszystkich zbiorów w bieżącym katalogu. Jednocześnie może istnieć zbiór o nazwie "*" i wskazanie go w tej powłoce jest możliwe właśnie przez użycie znaku modyfikacji przed tą nazwą. Tak więc:

rm *
# powoduje usunięcie wszystkich zbiorów w bieżącym katalogu
rm \*
# pozwala na usunięcie jednego zbioru z nazwą *

Języki programowania[edytuj | edytuj kod]

Współczesne języki programowania mają w swojej specyfikacji jawnie zdefiniowany separator ciągu znaków, i zazwyczaj jest to podwójny cudzysłów ". Oznacza to, że wprost ten znak nie może być elementem wspomnianego ciągu, ale jest możliwe z zastosowaniem znaku modyfikacji. Obsługiwane są dwa sposoby użycia modyfikacji: ze znakiem modyfikowanym podanym wprost lub poprzez jego reprezentację heksadecymalną. Tak więc odpowiednio:

  • \" daje "
  • \x22 daje też "

Perl[edytuj | edytuj kod]

W języku Perl kod

print "Nancy krzyknęła "Hello World!" do tłumu.";

zawiera błędy składniowe i nie może być wykonany, natomiast kod:

print "Nancy krzyknęła \"Hello World!\" do tłumu."; ### przykład użycia sekwencji zmodyfikowanej \"

lub

print "Nancy krzyknęła \x22Hello World!\x22 do tłumu."; ### przykład użycia sekwencji zmodyfikowanej \x22

spowoduje wysłanie na wyjście zamierzonego tekstu.

Inne języki[edytuj | edytuj kod]

Języki C, C++, Java stosują taką samą konwencję dwukrotnych znaków modyfikacji w postaci odwrotnego ukośnika. Pewne języki, np. PHP, zezwalają na stosowanie dwóch różnych separatorów (w tym przypadku podwójnego cudzysłowu " oraz pojedynczego '), co pozwala uniknąć kolizji separatorów oraz konieczności stosowania znaków modyfikacji.

Zobacz też[edytuj | edytuj kod]