From: "Eregon (Benoit Daloze)" Date: 2022-02-22T10:58:02+00:00 Subject: [ruby-core:107710] [Ruby master Feature#18596] Enhance the syntax for getting values in existing arrays. Issue #18596 has been updated by Eregon (Benoit Daloze). sawa (Tsuyoshi Sawada) wrote in #note-2: > This idea is a duplicate of #15950 Actually not, the suggested semantic is equivalent to `array[2..size-1]` in this issue, not `array[-2..-1]` or so. Which makes it all the clearer a negative number there is just confusing. Anyway, this was already rejected by matz in #15950 and it seems the OP didn't know the Range is the idiomatic and existing way for this. ---------------------------------------- Feature #18596: Enhance the syntax for getting values in existing arrays. https://bugs.ruby-lang.org/issues/18596#change-96631 * Author: jackmaple (maple jack) * Status: Rejected * Priority: Normal ---------------------------------------- Hello everyone. Is it possible to enhance the value syntax in arrays, currently we can pass one or two parameters in the array to take values. ``` ruby [1,2,3,4,5,6,7,8,9][2] #result=3 [1,2,3,4,5,6,7,8,9][2,8] #result=[3, 4, 5, 6, 7, 8, 9] [1,2,3,4,5,6,7,8,9][-1] #result=9 ``` Although negative values are supported (from back to front), they are not supported as the second parameter. The following example is wrong and will not get the desired result. **Is it possible to make the second parameter also support negative values?** ``` ruby [1,2,3,4,5,6,7,8,9][2,-1] #result=nil,the expected result is from index 2 to the end ``` Sometimes we want to get interval values with step size. ``` ruby [1,2,3,4,5,6,7,8,9][(2..8).step(2)] #result=[3, 5, 7, 9] ``` **Is it possible to add a third parameter to the array value syntax in order to simplify the syntax?** for example: ``` ruby [1,2,3,4,5,6,7,8,9][2,8,2] #result=[3, 5, 7, 9] ``` thanks. -- https://bugs.ruby-lang.org/ Unsubscribe: