From: "sawa (Tsuyoshi Sawada)" Date: 2022-02-22T03:26:30+00:00 Subject: [ruby-core:107706] [Ruby master Feature#18596] Enhance the syntax for getting values in existing arrays. Issue #18596 has been updated by sawa (Tsuyoshi Sawada). jackmaple (maple jack) wrote: > **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 > ``` This idea is a duplicate of #15950, which was judged to be weak in motivation (https://bugs.ruby-lang.org/issues/15950#note-11). I agree with you with this idea. Perhaps you can add some use case to persuade Matz. ---------------------------------------- Feature #18596: Enhance the syntax for getting values in existing arrays. https://bugs.ruby-lang.org/issues/18596#change-96626 * 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: