rfc:numeric_literal_separator
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:numeric_literal_separator [2019/05/27 16:46] – Fix line breaks in quote theodorejb | rfc:numeric_literal_separator [2019/08/19 19:58] (current) – Separators in C# aren't just a proposal theodorejb | ||
---|---|---|---|
Line 3: | Line 3: | ||
* Author: Theodore Brown < | * Author: Theodore Brown < | ||
* Based on [[https:// | * Based on [[https:// | ||
- | * Status: | + | * Status: |
+ | * Discussion: https:// | ||
* Target version: PHP 7.4 | * Target version: PHP 7.4 | ||
* Implementation: | * Implementation: | ||
Line 68: | Line 69: | ||
===== Unaffected PHP Functionality ===== | ===== Unaffected PHP Functionality ===== | ||
- | Underscores | + | Adding an underscore between digits |
- | lexing stage, so the runtime | + | change its value. The underscores are stripped out during the lexing |
+ | stage, so the runtime | ||
<code php> | <code php> | ||
Line 167: | Line 169: | ||
literal, which allows searching for a value like " | literal, which allows searching for a value like " | ||
the numbers containing that specific byte. | the numbers containing that specific byte. | ||
+ | |||
+ | ==== Should it be the role of an IDE to group digits? ==== | ||
+ | |||
+ | It has been suggested that numeric literal separators aren't needed | ||
+ | for better readability, | ||
+ | display large numbers in groups of three digits. | ||
+ | |||
+ | However, it isn't always desirable to group numbers the same way. | ||
+ | For example, a programmer may write '' | ||
+ | depending on whether or not it represents a financial quantity stored | ||
+ | as cents: | ||
+ | |||
+ | <code php> | ||
+ | $total = 100_500_00; // represents $100,500.00 stored as cents | ||
+ | |||
+ | $total = 10_050_000; // represents $10,050,000 | ||
+ | </ | ||
+ | |||
+ | Binary and hex literals may also be grouped by a varying number of | ||
+ | digits to reflect how they are used (e.g. bits may be separated into | ||
+ | nibbles, bytes, or words). An IDE cannot do this automatically | ||
+ | without knowing the programmer' | ||
==== Why resurrect this proposal? ==== | ==== Why resurrect this proposal? ==== | ||
Line 205: | Line 229: | ||
* Ada: single, between digits [[http:// | * Ada: single, between digits [[http:// | ||
- | * C# (proposal for 7.0): multiple, between digits [[https:// | + | * C#: multiple, between digits [[https:// |
* C++: single, between digits (single quote used as separator) [[http:// | * C++: single, between digits (single quote used as separator) [[http:// | ||
* Java: multiple, between digits [[https:// | * Java: multiple, between digits [[https:// | ||
Line 219: | Line 243: | ||
===== Vote ===== | ===== Vote ===== | ||
- | Add numeric literal | + | Voting started 2019-05-30 and ended 2019-06-13. |
+ | |||
+ | <doodle title=" | ||
+ | | ||
+ | | ||
+ | </ | ||
===== References ===== | ===== References ===== | ||
Line 227: | Line 256: | ||
Discussion from previous RFC: https:// | Discussion from previous RFC: https:// | ||
- | Blog post about implementation: | + | Blog post about original |
rfc/numeric_literal_separator.1558975569.txt.gz · Last modified: 2019/05/27 16:46 by theodorejb