From: "mame (Yusuke Endoh)" Date: 2012-05-21T20:59:49+09:00 Subject: [ruby-core:45167] [ruby-trunk - Feature #6445][Assigned] request for default length/position on string index Issue #6445 has been updated by mame (Yusuke Endoh). Status changed from Open to Assigned Assignee set to matz (Yukihiro Matsumoto) Hello, I created a patch that add a syntactic sugar from (arg..) to (arg..-1). ary = [1, 2, 3, 4] p ary[2..] #=> [3, 4] Matz, what do you think? diff --git a/parse.y b/parse.y index 9f9093b..d272492 100644 --- a/parse.y +++ b/parse.y @@ -2168,6 +2168,18 @@ arg : lhs '=' arg $$ = dispatch2(dot3, $1, $3); %*/ } + | arg tDOT2 + { + /*%%%*/ + value_expr($1); + $$ = NEW_DOT2($1, NEW_LIT(INT2FIX(-1))); + if (nd_type($1) == NODE_LIT && FIXNUM_P($1->nd_lit)) { + deferred_nodes = list_append(deferred_nodes, $$); + } + /*% + $$ = dispatch2(dot2, $1, INT2FIX(-1)); + %*/ + } | arg '+' arg { /*%%%*/ -- Yusuke Endoh ---------------------------------------- Feature #6445: request for default length/position on string index https://bugs.ruby-lang.org/issues/6445#change-26743 Author: botp (bot pena) Status: Assigned Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: Target version: 2.0.0 would be nice if ruby has default for "rest or up to end of string" eg "hello"[2,] => should default to "hello"[2..-1] or "hello"[2..] => should default to "hello"[2..-1] -- http://bugs.ruby-lang.org/