开发者社区> 问答> 正文

如何在Ruby中返回数组的一部分?

使用Python中的列表,我可以使用以下代码返回其中的一部分:

foo = [1,2,3,4,5,6] bar = [10,20,30,40,50,60] half = len(foo) / 2 foobar = foo[:half] + bar[half:] 由于Ruby在数组中执行所有操作,所以我想知道是否有类似的东西。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-07 23:13:36 502 0
1 条回答
写回答
取消 提交回答
  • 是的,Ruby具有与Python非常相似的数组切片语法。这是ri数组索引方法的文档:

    --------------------------------------------------------------- Array#[] array[index] -> obj or nil array[start, length] -> an_array or nil array[range] -> an_array or nil array.slice(index) -> obj or nil array.slice(start, length) -> an_array or nil array.slice(range) -> an_array or nil

     Element Reference---Returns the element at index, or returns a 
     subarray starting at start and continuing for length elements, or 
     returns a subarray specified by range. Negative indices count 
     backward from the end of the array (-1 is the last element). 
     Returns nil if the index (or starting index) are out of range.
    
        a = [ "a", "b", "c", "d", "e" ]
        a[2] +  a[0] + a[1]    #=> "cab"
        a[6]                   #=> nil
        a[1, 2]                #=> [ "b", "c" ]
        a[1..3]                #=> [ "b", "c", "d" ]
        a[4..7]                #=> [ "e" ]
        a[6..10]               #=> nil
        a[-3, 3]               #=> [ "c", "d", "e" ]
        # special cases
        a[5]                   #=> nil
        a[6, 1]                #=> nil
        a[5, 1]                #=> []
        a[5..10]               #=> []
    
    2020-02-07 23:13:48
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Python系列直播第一讲——Python中的一切皆对象 立即下载
Python第五讲——关于爬虫如何做js逆向的思路 立即下载
编程语言如何演化-以JS的private为例 立即下载