如何在Ruby中返回数组?

时间:2012-07-12 02:03:53

标签: ruby arrays memory-management

  1. 是返回数组索引还是返回整个数组?

  2. 阵列的生命怎么样?如果我们不返回创建的数组,它会继续占用内存空间还是在我们离开函数时自动释放?

  3. 我是OOP和Ruby的新手。我以前做过C。

1 个答案:

答案 0 :(得分:2)

关于Ruby的一些事情。首先,Ruby是一种垃圾收集语言,因此根据Ruby的实现,垃圾收集器将在不同时间释放内存空间。

其次,目前还不清楚“数组返回”是什么意思。如果你的意思是从一个方法,那么在幕后发生的事情的问题可能也是一个实现。从程序员的角度来看,返回一个完整的数组。是否引用了相同的内存块很可能是关于变量范围的问题,当然可以通过值而不是引用来返回整个数组。

Ruby的“标准”实现,也称为MRI或Matz的Ruby,是用C语言编写的,开源的,所以你可以看到C code for an array,包括它的内存分配和释放函数。