# Barra verticale

Segni di punteggiatura :
| apostrofo | ' ’ |
| barra | / ⁄ |
| due punti | : |
| lineetta ondulata | ⁓ |
| lineetta | ‒ – — ― |
| parentesi | ( ) [ ] { } ⟨ ⟩ < > |
| punti di sospensione | … ... |
| punto e virgola | ; |
| punto esclamativo | ! ¡ |
| punto fermo | . |
| punto interrogativo | ? ¿ |
| punto mediano | · |
| spazio | |
| tratto d'unione | ‐ |
| virgola | , |
| virgolette | « » ‘ ’ “ ” |
Segni tipografici :
| asterisco | * |
| asterismo | ⁂ |
| barra rovesciata | \ |
| barra verticale | | ‖ ¦ |
| cancelletto | # |
| chiocciola o a commerciale | @ |
| circonflesso | ^ |
| copyright | © ℗ |
| e commerciale (et) | & |
| foglia aldina | ☙ |
| grado | ° |
| indicatore ordinale | º ª |
| punto esclarrogativo | ‽ ⸘ |
| ironia | ⸮ |
| losanga | ◊ |
| manina | ☞ ☟ ☜ |
| marchio | ™ ℠ ® |
| meno | − |
| nota | ※ |
| numero | № |
| obelisco | † ‡ |
| obelo | ÷ |
| paragrafo | § |
| per | × |
| perciò | ∴ |
| per cento/mille/punto base | % ‰ ‱ |
| piede di mosca | ¶ |
| più | + |
| primo | ′ ″ ‴ |
| punto elenco | • |
| tilde | ~ |
| tombstone | ∎ |
| trattino basso | _ |
| trattino-meno | - |
| uguale | = |
Simboli monetari :
ƒ ​₣ ​
ℳ ​₥ ​
Ortografia · Segno diacritico :
V · D · M :
Il simbolo "|" viene denominato barra verticale o anche pipe (soprattutto nella comunità Unix). In Unicode ha codice U+007C.
La barra verticale interrotta o barra spezzata verticale (in inglese broken bar, ¦) è un carattere distinto e in Unicode ha codice U+00A6.
Nel layout di tastiera usato in Italia è presente la barra verticale come carattere di secondo livello (shift + \) ma non la barra verticale interrotta; in ogni caso anche se in alcuni font la barra verticale può essere rappresentata come una barra verticale interrotta e viceversa i due rimangono caratteri distinti.

## Etimologia

Nel dizionario del Tommaseo barra viene riportato come:
«Barra, S.f. Sbarra, Trincera, Steccato. Lat. Vara, Palo, Pertica; Varus o Varrus, Palo non rimondato»
mentre delle definizioni più moderne sono:
«Segno grafico costituito da una lineetta verticale o obliqua, indicante separazione, cancellazione o sim.: dividere due versi con una b.»
(De Mauro, dizionario della lingua italiana)
«Carattere grafico costituito da un trattino obliquo o verticale, usato in vari contesti (segno di separazione, di frazione ecc.)»
(Sabatini Coletti, dizionario della Lingua Italiana)
Il nome pipe (in inglese significa tubo, canna o condotto) usato per il carattere "|" è una naturale conseguenza del suo uso nelle shell Unix, dove viene utilizzato per rappresentare il costrutto Unix pipeline.

## Uso
### Matematica

La barra verticale è usata come simbolo matematico in
* valore assoluto: $|x|$, si legge "il valore assoluto di x".
* norma: $\|(x_{1},x_{2})\|$, si legge "la norma di x con uno, x con due"; Unicode fornisce un simbolo speciale per la linea verticale doppia U+2016: ‖x‖
* definizione di insieme: $\{x|x<2\}$, si legge "l'insieme degli x tali che x sia minore di due". In alcuni casi possono venir usati i due punti ':' invece della barra verticale; altre volte viene utilizzata la sigla "t.c.".
* probabilità condizionata: $P(X|Y)$, si legge "la probabilità di X dato Y".
* divisibilità: $a|b$, si legge "a divide b".
* il connettivo NAND in logica: $a|b$, si legge "a nand b".
* calcolo: $a+3|_{a=4}$, si legge "a più 3 calcolato quando a è uguale 4" oppure "per (ove) a uguale a 4", cioè $4+3=7$.
* notazione bra-ket in meccanica quantistica: i vettori di stato vengono identificati da una lettera (spesso greca, come la ψ) ed indicato come |ψ>.
* Nella forma || (o anche //) come simbolo di rette parallele.

### Backus-Naur form

In Backus-Naur form la barra verticale separa i simboli e/o le sequenze con cui si può sostituire il simbolo che si sta definendo. Pertanto, indica una scelta.

### Informatica
#### Unix

Una pipe è un meccanismo di comunicazione interprocesso usato originariamente in Unix che permette all'output (lo standard output e, opzionalmente, lo standard error) di un processo di essere usato come input (standard input) di un altro. In questo modo una serie di comandi può venir collegata ("piped"). Questo caratteristica fornisce agli utenti avanzati la possibilità di creare procedure complesse rapidamente dalla riga di comando o come parte di script della shell UNIX (“batch”). In molte shell Unix (interpreti di comandi), questa caratteristica viene rappresentata dal carattere di barra verticale.
esempio di uso della pipe in UNIX: egrep -i 'blair' filename.log | more
Tradizionalmente la capacità di piping in UNIX viene fornita dalla caratteristica "fork and exec" dei sistemi operativi UNIX. Le shell UNIX creano una copia (forks off) di loro stesse per ogni comando, collegando l'output di ogni comando all'input del successivo. Quando vengono elaborati grandi quantità di dati tutti i processi della “pipeline” possono tipicamente essere attivi nello stesso momento (nei limiti del hardware usato). Usando il meccanismo di pipe UNIX un utente è in grado di creare facilmente un proprio programma composto da un numero (teoricamente) illimitato di piccole e specializzate utility.

#### DOS/Windows

Questa caratteristica era presente anche in DOS ed è tuttora presente in Microsoft Windows.
Esempio di uso della pipe in DOS:
La caratteristica di questo di glifo di essere un operatore del DOS può causare problemi nel caso di applicazioni quali la SQL Server BCP utility (abbreviazione di "Bulk Copy Program"), nelle quali l'utente può voler passare il carattere "|" all'applicazione in maniera letterale. (Ad esempio, quando si prova a fare una copia massiccia di file che usano il carattere | come separatore di campo.) In questi casi il carattere ^ può venire usato per evitare l'uso del pipe. Esempio:

#### Espressioni regolari

Nella sintassi delle espressioni regolari, la barra verticale indica alternativa (come ad esempio l'OR logico). Ad esempio: il commando Unix grep -E 'foo|bar' identifica le stringhe che contengono 'foo' oppure 'bar'.

#### Disgiunzione

In molti linguaggi di programmazione la barra viene usata per indicare l'operazione logica or, sia per l'or bitwise che per l'or logico.
In particolare per il C e per i linguaggi che seguono le convenzioni di sintassi del C, come C++, Perl, PHP, Java e C#, (a | b) indica il bitwise or o l'or logico, a seconda del tipo degli operandi; invece la barra verticale doppia (a || b) indica l'or logico con valutazione a corto circuito.

#### Concatenazione

Nel PL/I ed in alcuni dialetti del SQL, l'operatore "||" indica una concatenazione di stringhe.

#### Delimitatore

Anche se non è comune come l'uso della virgola o del tabulatore orizzontale la barra verticale può essere usato come delimitatore in un flat file. Un esempio di formato di dati standard delimitato dalla barra verticale è il LEDES 1998B.

#### Operatore di esecuzione concorrente

Nei calcoli di comunicazione dei processi (come nel caso del π-calcolo), la barra verticale è usata per indicare che i processi vengono eseguiti in parallelo.

#### Wikipedia

All'interno della sintassi utilizzata da Wikipedia può essere utilizzato per la creazione dei Piped wikilink, cioè di collegamenti ipertestuali in cui il titolo della pagina è diverso dal testo del collegamento.

### Fonetica e Prosodia

Nelle lingue khoisan scritte con l'alfabeto fonetico internazionale, la barra verticale è un segno diacritico usato per indicare il clic dentale (ǀ). Una doppia barra verticale è invece usata per indicare il clic laterale alveolare (ǁ). Nella Prosodia le barre verticali vengono utilizzate anche come segnali diacritici di intonazione per riportare una cesura o in generale i limiti prosodici (pausa maggiore o minore).

### Elettrotecnica

In elettrotecnica due barre verticali || o due barre oblique // indicano una connessione in parallelo di due bipoli.

## Codifica

Nonostante la barra verticale sia un carattere accessibile dalle tastiere italiana, inglese e nordamericana vi sono comunque dei casi in cui Web designers, Wiki editors, programmatori e altri utenti hanno bisogno di inserire questo carattere in forma codificata — in genere perché la barra verticale è un simbolo speciale nel loro codice sorgente ed hanno la necessità che sia visualizzata in quanto tale all'utente finale.
Creato nel 1963, l'American Standard Code for Information Interchange (ASCII-1963), una delle prime mappe di caratteri ad essere usata in modo ampio, ha solo 69 caratteri visualizzabili ("stampabili"); A–Z e 0–9 occupano 36 dei caratteri disponibili. La barra verticale ("|") è il carattere dell'ASCII-1963 in posizione 124 (decimale). La barra verticale interrotta ("¦") non fa parte dell'insieme dei caratteri ASCII (in nessuna versione) ma come carattere separato comparve (insieme alla barra verticale) prima nella famiglia dei caratteri EBCDIC e venne copiata da questa nell'ISO 8859 e in Unicode. La tastiera tipicamente usata nel Regno Unito ha tasti separati per la "barra verticale" e per la "barra verticale interrotta"; in ogni caso molti driver per la tastiera inglese attualmente mappano entrambi i caratteri nel carattere ASCII "barra verticale", in quanto la "barra verticale interrotta" difficilmente trova qualche applicazione pratica.

### Nelle mappe di caratteri più comuni
#### Unicode

esadecimale (base-16): 007C

#### UTF-8

esadecimale (base-16): 7C

#### ASCII

decimale (base-10): 124, o esadecimale (base-16): 7C

#### ISO/IEC 8859

esadecimale (base-16): 7C

#### Shift-JIS Men-Ku-Ten

1-01-35

#### EBCDIC (CCSID 500 variant)

esadecimale (base-16): BB