当前位置:K88软件开发文章中心编程全书编程全书03 → 文章内容

Ruby 数组(Array)

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-11 12:58:20

ther 是相同的对象,或者两个数组带有相同的内容,则返回 true。28array.fetch(index) [or] array.fetch(index, default) [or] array.fetch(index) { |index| block }尝试返回位置 index 处的元素。如果 index 位于数组外部,则第一种形式会抛出 IndexError 异常,第二种形式会返回 default,第三种形式会返回调用 block 传入 index 的值。负值的 index 从数组末尾开始计数。29array.fill(obj) [or]array.fill(obj, start [, length]) [or]array.fill(obj, range) [or]array.fill { |index| block } [or]array.fill(start [, length] ) { |index| block } [or]array.fill(range) { |index| block }前面三种形式设置 self 的被选元素为 obj。以 nil 开头相当于零。nil 的长度相当于 self.length。最后三种形式用 block 的值填充数组。block 通过带有被填充的每个元素的绝对索引来传递。30array.first [or] array.first(n)返回数组的第一个元素或前 n 个元素。如果数组为空,则第一种形式返回 nil,第二种形式返回一个空的数组。31array.flatten返回一个新的数组,新数组是一个一维的扁平化的数组(递归)。32array.flatten!把 array 进行扁平化。如果没有变化则返回 nil。(数组不包含子数组。)33array.frozen?如果 array 被冻结(或排序时暂时冻结),则返回 true。34array.hash计算数组的哈希代码。两个具有相同内容的数组将具有相同的哈希代码。35array.include?(obj)如果 self 中包含 obj,则返回 true,否则返回 false。36array.index(obj)返回 self 中第一个等于 obj 的对象的 index。如果未找到匹配则返回 nil。37array.indexes(i1, i2, ... iN) [or]array.indices(i1, i2, ... iN)该方法在 Ruby 的最新版本中被废弃,所以请使用 Array





#values_at。38array.indices(i1, i2, ... iN) [or]array.indexes(i1, i2, ... iN)该方法在 Ruby 的最新版本中被废弃,所以请使用 Array





#values_at。39array.insert(index, obj...)在给定的 index 的元素前插入给定的值,index 可以是负值。40array.inspect创建一个数组的可打印版本。41array.join(sep=$,)返回一个字符串,通过把数组的每个元素转换为字符串,并使用 sep 分隔进行创建的。42array.last [or] array.last(n)返回 self 的最后一个元素。如果数组为空,则第一种形式返回 nil。43array.length返回 self 中元素的个数。可能为零。44array.map { |item| block } [or]array.collect { |item| block }为 self 的每个元素调用一次 block。创建一个新的数组,包含 block 返回的值。45array.map! { |item| block } [or]array.collect! { |item| block }为 array 的每个元素调用一次 block,把元素替换为 block 返回的值。46array.nitems返回 self 中 non-nil 元素的个数。可能为零。47array.pack(aTemplateString)根据 aTemplateString 中的指令,把数组的内容压缩为二进制序列。指令 A、 a 和 Z 后可以跟一个表示结果字段宽度的数字。剩余的指令也可以带有一个表示要转换的数组元素个数的数字。如果数字是一个星号(*),则所有剩余的数组元素都将被转换。任何指令后都可以跟一个下划线(_),表示指定类型使用底层平台的本地尺寸大小,否则使用独立于平台的一致的尺寸大小。在模板字符串中空格会被忽略。48array.pop从 array 中移除最后一个元素,并返回该元素。如果 array 为空则返回 nil。49array.push(obj, ...)把给定的 obj 附加到数组的末尾。该表达式返回数组本身,所以几个附加可以连在一起。50array.rassoc(key)搜索一个数组,其元素也是数组,使用 == 把 key 与每个包含的数组的第二个元素进行比较。如果匹配则返回第一个包含的数组。51array.reject { |item| block }返回一个新的数组,包含当 block 不为 true 时的数组项。52array.reject! { |item| block }当 block 为真时,从 array 删除元素,如果没有变化则返回 nil。相当于 Array





#delete_if。53array.replace(other_array)把 array 的内容替换为 other_array 的内容,必要的时候进行截断或扩充。54array.reverse返回一个新的数组,包含倒序排列的数组元素。55array.reverse!把 array 进行逆转。56array.reverse_each {|item| block }与 Array





#each 相同,但是把 array 进行逆转。57array.rindex(obj)返回 array 中最后一个等于 obj 的对象的索引。如果未找到匹配,则返回 nil。58array.select {|item| block }调用从数组传入连续元素的 block,返回一个数组,包含 block 返回 true 值时的元素。59array.shift返回 self 的第一个元素,并移除该元素(把所有的其他元素下移一位)。如果数组为空,则返回 nil。60array.size返回 array 的长度(元素的个数)。length 的别名。61array.slice(index) [or] array.slice(start, length) [or]array.slice(range) [or] array[index] [or]array[start, length] [or] array[range]返回索引为 index 的元素,或者返回从 start 开始直至 length 个元素的子数组,或者返回 range 指定的子数组。负值索引从数组末尾开始计数(-1 是最后一个元素)。如果 index(或开始索引)超出范围,则返回 nil。62array.slice!(index) [or] array.slice!(start, length) [or]array.slice!(range)删除 index(长度是可选的)或 range 指定的元素。返回被删除的对象、子数组,如果 index 超出范围,则返回 nil。63array.sort [or] array.sort { | a,b | block }返回一个排序的数组。64array.sort! [or] array.sort! { | a,b | block }把数组进行排序。65array.to_a返回 self。如果在 Array 的子类上调用,则把接收参数转换为一个 Array 对象。66array.to_ary返回 self。67array.to_s返回 self.join。68array.transpose假设 self 是数组的数组,且置换行和列。69array.uniq返回一个新的数组,移除了 array 中的重复值。70array.uniq!从 self 中移除重复元素。如果没有变化(也就是说,未找到重复),则返回 nil。71array.unshift(obj, ...)把对象前置在数组的前面,其他元素上移一位。72array.values_at(selector,...)返回一个数组,包含 self 中与给定的 selector(一个或多个)相对应的元素。选择器可以是整数索引或者范围。73array.zip(arg, .

上一页  [1] [2] [3]  下一页


Ruby 数组(Array)