(This article is a multipost with Go to the Horizon)
There are three main grammars for noting octal numbers.
(The second and third are confusing, but they are zero o [^ octet])
0 (eg 0123)0o as a prefix (eg 0o123)0O as a prefix (eg 0O123)Of these, the table summarizes which grammar each programming language uses.
| language | 0 | 
0o | 
0O | 
|---|---|---|---|
| C | ○ | × | × | 
| PHP | ○ | × | × | 
| Perl | ○ | × | × | 
| Java | ○ | × | × | 
| Scala (~2.9) | ○ | × | × | 
| Scala (2.10~) | × | × | × | 
| Kotlin | × | × | × | 
| C# | × | × | × | 
| Rust | × | ○ | × | 
| Swift | × | ○ | × | 
| Go | ○ | ○ | ○ | 
| Ruby | ○ | ○ | ○ | 
| Python2 | ○ | ○ | ○ | 
| Python3 | × | ○ | ○ | 
| JavaScript[^js] | ○ | ○ | ○ | 
00 but stopped0o has been adopted."I write the octal number as 0123 "may be old.
[^ octet]: octet (8-piece set) o [^ js]: However, if 0 is followed by 8 or 9, it is a decimal number. Reference: lexical grammar --JavaScript | MDN
Recommended Posts