Vertical bar
From Wikipedia, the free encyclopedia
| This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (November 2009) |
- Note: "broken bar" and the glyph "¦" redirect here.
The vertical bar (|) is a character with various uses in mathematics, where it can be used to represent absolute value, among others; in computing and programming; and in general typography, as a divider not unlike the interpunct. It may be called by various other names including the pipe (by the Unix community, referring to the I/O pipeline construct), Sheffer stroke (by computer or mathematic logicians), verti-bar, vbar, stick, vertical line, vertical slash, think colon, or divider line by others.
The broken bar (¦), also termed "parted rule" in Unicode documentation, is a separate character, but due to historical confusion between the two, computer keyboards and displays may not clearly or consistently differentiate them. The typical keyboard layout used in the United Kingdom features separate keys for vertical bar and broken bar; however, typically on Windows PCs the vertical bar key produces a broken-bar symbol and vice versa. North American keyboards typically have a key bearing a broken-bar symbol, which produces a vertical bar. In the default console font on PC systems, the glyph used for the vertical bar character looks exactly like a broken bar.[1]
The broken bar does not appear to have any clearly identified uses distinct from the vertical bar.[2] The examples in this article all use the vertical bar, but in actual use in some computing environments (for example, in use as a DOS pipe character), a broken bar may be displayed instead. In non-computing use – for example in mathematics, physics and general typography – the broken bar is not an acceptable substitute for the vertical bar.
Contents |
[edit] Usage
[edit] Mathematics
The vertical bar is used as a mathematical symbol in
- absolute value: | x | , read "the absolute value of x".
- norms:
, read "the norm of x sub one, x sub two"; though Unicode also provides a special double vertical line symbol U+2016: ‖x‖ - set-builder notation: {x | x < 2}, read "the set of x such that x is less than two". Often a colon ':' is used instead of a vertical bar.
- cardinality: | S | , read "the cardinality of the set S".
- conditional probability: P(X | Y), read "the probability of X given Y".
- divisibility: a | b, read "a divides b".
- the Sheffer stroke in logic: a | b, read "a nand b".
- evaluate: a + 3 | a = 4, read "a plus 3 evaluated for when a equals 4", or 4 + 3 = 7.
- evaluate (subscript notation): f(x) | x = 4, read "f of x evaluated at x equals 4"
- restriction:
denotes a restriction of function f where it is defined over a domain which is a superset of A.
[edit] Physics
The vertical bar is used in bra-ket notation in quantum physics. Examples:
— The quantum mechanical state "ψ".
— The dual state corresponding to the state above.
— The inner product of states ψ and ρ.
[edit] Computing
[edit] Pipe
A pipe is an inter-process communication mechanism originating in Unix which allows the output (standard out and, optionally, standard error) of one process to be used as input (standard in) to another. In this way, a series of commands can be "piped" together, giving users the ability to quickly perform complex multi-stage processing from the command line or as part of a Unix shell script ("batch file"). In most Unix shells (command interpreters), this is represented by the vertical bar character. For example:
where the output from the "egrep" process is piped to the "more" process.
The same "pipe" feature is also found in later versions of DOS and Microsoft Windows.
[edit] Disjunction
In many programming languages, the vertical bar is used to designate the logic operation or, either bitwise or or logical or.
Specifically, in C and other languages following C syntax conventions, such as C++, Perl, Java and C#, (a | b) denotes a bitwise or; whilst a double vertical bar (a || b) denotes a (short-circuited) logical or.
In regular expression syntax, the vertical bar again indicates logical or. For example: the Unix command grep -E 'foo|bar' matches lines containing 'foo' or 'bar'.
[edit] Concatenation
In PL/I and certain dialects of SQL, the operator "||" denotes string concatenation.
[edit] Delimiter
Although not as common as commas or tabs, the vertical bar can be used as a delimiter in a flat file. An example of a pipe-delimited standard data format is LEDES 1998B.
[edit] Backus-Naur form
In Backus-Naur form, an expression consists of sequences of symbols and/or sequences separated by '|', indicating a choice, the whole being a possible substitution for the symbol on the left.
- <personal-name> ::= <name> | <initial>
[edit] Concurrency operator
In calculi of communicating processes (like pi-calculus), the vertical bar is used to indicate that processes execute in parallel.
[edit] List comprehensions
The vertical bar is used for list comprehensions in some functional languages, e. g. Haskell and Erlang. Compare set-builder notation.
[edit] Wikipedia
[edit] Phonetics and orthography
In the Khoisan languages and the International Phonetic Alphabet, the vertical bar is used to write the dental click (ǀ). A double vertical bar is used to write the alveolar lateral click (ǁ). Since these are technically letters, they have their own Unicode code points in the Latin Extended-B range: U+01C0 for the single bar and U+01C1 for the double bar. Longer single and double vertical bars are used to mark prosodic boundaries in the IPA.
[edit] Encoding
The vertical bar ("|") is at position 124 (decimal) in the ASCII character set. The broken bar ("¦") is not part of ASCII but is a separate character that appeared (along with vertical bar) first in the EBCDIC family of character sets, and was copied from there into ISO 8859-1 and Unicode.
The typical computer keyboard used in the United Kingdom features separate keys for "vertical bar" and "broken bar", even though "broken bar" has hardly any practical application. Some keyboard drivers map the broken bar key to the vertical bar, and the vertical bar key, shared with the the grave accent (`), generates the broken bar when pressed in combination with AltGr.
[edit] In common character maps
| Vertical bar ('|') | Broken bar ('¦') | |
|---|---|---|
| ASCII | decimal (base-10): 124 hexadecimal (base-16): 7C |
N/A |
| ISO/IEC 8859-1 | hexadecimal: 7C | hexadecimal: A6 |
| Unicode | U+007C | U+00A6 |
| EBCDIC (CCSID 500 variant) | hexadecimal: BB | hexadecimal: A6 |
| Shift-JIS Men-Ku-Ten | 1-01-35 |
Additional related Unicode characters:
- Double vertical line ('‖'): U+2016
- Latin letter dental click ('ǀ'): U+01C0
- Latin letter lateral click ('ǁ'): U+01C1
- Various box-drawing characters at U+2500 to U+257F