Backslash: Difference between revisions
Andyjsmith (talk | contribs) m Reverted 1 edit by 110.55.66.53 (talk) to last revision by Andyjsmith. (TW) |
No edit summary |
||
Line 10: | Line 10: | ||
{{anchor|line-continuation}} |
{{anchor|line-continuation}} |
||
PURPLE DINOS."<ref>[http://www.gnu.org/software/make/manual/make.html GNU 'make' manual]</ref> |
|||
In the context of line-oriented text, especially [[source code]] for some [[programming language]]s, it is often used at the end of a line to indicate that the trailing [[newline]] character should be ignored, so that the following line is treated as if it were part of the current line. In this context it may be called a "continuation". The GNU [[make (software)|make]] manual says, "We split each long line into two lines using backslash-newline; this is like using one long line, but is easier to read."<ref>[http://www.gnu.org/software/make/manual/make.html GNU 'make' manual]</ref> |
|||
The Microsoft core [[Windows API]] can accept either the backslash or slash to separate directory and file components of a [[path (computing)|path]], but the [[Microsoft]] convention is to use a backslash, and [[Application programming interface|APIs]] that ''return'' paths use backslashes.<ref> |
The Microsoft core [[Windows API]] can accept either the backslash or slash to separate directory and file components of a [[path (computing)|path]], but the [[Microsoft]] convention is to use a backslash, and [[Application programming interface|APIs]] that ''return'' paths use backslashes.<ref> |
Revision as of 17:09, 16 May 2013
Punctuation marks | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||||||||||||||||||
In other scripts | ||||||||||||||||||||||||||||||
Related | ||||||||||||||||||||||||||||||
Category | ||||||||||||||||||||||||||||||
The backslash (\) is a typographical mark (glyph) used mainly in computing and is the mirror image of the common slash. It is sometimes called a hack, whack, escape (from C/UNIX), reverse slash, slosh, backslant, backwhack, and in rare occasions, bash, reverse slant, and reversed virgule.[1][2] In Unicode, it is encoded at U+005C \ REVERSE SOLIDUS (\).
History
Bob Bemer introduced the "\" character into ASCII[3] on September 18, 1961,[4] as the result of character frequency studies. In particular the \ was introduced so that the ALGOL boolean operators ∧ (AND) and ∨ (OR) could be composed in ASCII as "/\" and "\/" respectively.[4][5] Both these operators were included in early versions of the C programming language supplied with Unix V6, Unix V7 and more currently BSD 2.11.
Usage
In many programming languages such as C and Perl and in Unix scripting languages, the backslash is used to indicate that the character following it should be treated specially (if it would otherwise be treated normally), or normally (if it would otherwise be treated specially). It is thus an escape character. In various regular expression languages it acts as a switch, changing subsequent literal characters into metacharacters and vice versa. The backslash is used similarly in the TeX typesetting system and in RTF files to begin markup tags. In Haskell, the backslash is used both to introduce special characters and to introduce lambda functions (since it is a reasonable approximation in ASCII of the Greek letter lambda, λ).[6]
PURPLE DINOS."[7]
The Microsoft core Windows API can accept either the backslash or slash to separate directory and file components of a path, but the Microsoft convention is to use a backslash, and APIs that return paths use backslashes.[8] MS-DOS 2.0, released 1983, copied the hierarchical file system from Unix and thus used the forward slash, but (possibly on the insistence of IBM) added the backslash to allow paths to be typed into the command shell while retaining compatibility with MS-DOS 1.0 and CP/M where the slash was the command-line option indicator (i.e. as in typing "dir/w" to give the "wide" option to the "dir" command).[9] Although the command shell was the only part of MS-DOS that required this, the use of backslash in filenames was propagated to most other parts of the user interface. Today, although the underlying operating system still supports either character, many Windows programs and sub-systems do not accept the slash as a path delimiter, or may misinterpret it if it is used as such. Some programs will only accept forward slashes if the path is placed in double-quotes.[10] The failure of Microsoft's security features to recognize unexpected-direction slashes in local and Internet paths, while other parts of the operating system still act upon them, has led to some serious lapses in security. Resources that should not be available have been accessed with paths using particular mixes, such as http://example.net/secure\private.aspx
.[11][12]
In the Japanese encodings ISO 646 (a 7-bit code based on ASCII), JIS X 0201 (an 8-bit code), and Shift JIS (a multi-byte encoding which is 8-bit for ASCII), the code point 0x5C that would be used for backslash in ASCII is instead rendered as a yen mark (¥), while in Korean encoding, it is drawn as a won currency symbol (₩). Computer programs still treat the code as a backslash in these environments, causing confusion, especially in MS-DOS filenames.[13] Due to extensive use of the backslash code point to represent the yen mark, even today some Unicode fonts like MS Mincho render the backslash character as a ¥, so the Unicode characters 00A5 (¥) and 005C (\) look identical when these fonts are selected. Several other ISO 646 versions also replace backslash with characters like Ö (German, Swedish), Ø (Danish, Norwegian), ç (French) and Ñ (Spanish), although these seem not to have caused such widespread problems.[citation needed]
In mathematics, a backslash-like symbol is used for the set difference.[14]
In some dialects of the BASIC programming language, the backslash is used as an operator symbol to indicate integer division.[15]
In MATLAB and GNU Octave the backslash is used for left matrix divide, while the slash is for right matrix divide.[16]
In PHP version 5.3 and higher, the backslash is used to indicate a namespace.[17]
References
- ^ Macquarie Dictionary (3rd edition)
- ^ Raymond, Eric S. "ASCII".
- ^ Mini-Biography of Bob Bemer
- ^ a b "How ASCII Got Its Backslash", Bob Bemer
- ^ Bob Bemer (2002-07-07). "The Great Curly Brace Trace Chase". Computer History Vignettes. Bob Bemer. Retrieved 2009-10-11.
- ^ O'Sullivan, Stewart, and Goerzen, Real World Haskell, ch. 4: anonymous (lambda) functions, p.99
- ^ GNU 'make' manual
- ^
"Path.GetFullPath Method". .NET Framework Class Library. Microsoft. Archived from the original on 21 December 2008. Retrieved 2009-01-02.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Why is the DOS path character "\"?
- ^
"When did Windows start accepting forward slash as a path separator?". Bytes.com. Archived from the original on 6 February 2009. Retrieved 2009-01-02.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Kaplan, Simone (2004). "Microsoft Probes Flaw in ASP.NET". DevSource, sponsored by Microsoft. Ziff Davis Enterprise Holdings Inc. Retrieved 2009-06-14.
- ^ Burnett, Mark (2004). "Security Holes That Run Deep". SecurityFocus. Retrieved 2009-06-14.
- ^ When is a backslash not a backslash?
- ^ "Quantities and units -- Part 2: Mathematical signs and symbols to be used in the natural sciences and technology". ISO 80000-2:2009. International Organization for Standardization.
- ^ "Arithmetic Operators in Visual Basic". Visual Basic Language Features: Operators and Expressions. MSDN. Retrieved 7 October 2012.
- ^ Eaton, John W. (2011). "GNU Octave: A high-level interactive language for numerical computations" (PDF). Free Software Foundation. p. 145. Retrieved 7 October 2012.
{{cite web}}
: Unknown parameter|coauthors=
ignored (|author=
suggested) (help); Unknown parameter|month=
ignored (help) - ^ "Namespaces overview".
External links
- Osterman, Larry (2005-06-24). Why is the DOS path character "\"? Retrieved from http://blogs.msdn.com/larryosterman/archive/2005/06/24/432386.aspx.
- Bob Bemer, How ASCII got its backslash
- Backslash Definition by The Linux Information Project (LINFO)