Project

General

Profile

Actions

Feature #4007

closed

numeric literal syntax sugar

Added by neleai (Ondrej Bilka) about 14 years ago. Updated about 7 years ago.

Status:
Rejected
Target version:
[ruby-core:32971]

Description

=begin
Hello
As I looked to C++ extension suffing numeric literals.
My proposal is make . in method call of numeric literal optional so we can for example write
4i instead 4.i
Another application is making Time manipulations more readable like
deadline=Time.now + 2hours

Here is patch
It should be more restrictive to disallow traps like 0xadup
Index: parse.y

--- parse.y (revision 29647)
+++ parse.y (working copy)
@@ -3592,6 +3592,16 @@
$$ = method_arg(dispatch1(fcall, $1), $2);
%*/
}

  •  | numeric tIDENTIFIER opt_paren_args
    
  •      {
    
  •      /*%%%*/
    
  •  	$$ = NEW_CALL($1, $2, $3);
    
  •  	fixpos($$, $1);
    
  •      /*%
    
  •  	$$ = dispatch3(call, $1, ripper_id2sym('.'), $2);
    
  •  	$$ = method_optarg($$, $3);
    
  •      %*/
    
  •      }
     | primary_value '.' operation2 opt_paren_args
         {
         /*%%%*/
    

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0