Class Array < Object
實例方法
&
arr & other_array -> an_array
交集
<=>
arr<=>other_array-> -1,0,1
比較---根據數組小于,等于或大于other_array,分別返回-1,0或1。每個數組中的每個對象都被比較.如果任何值都不相等,那么這次比較多結果將作為返回值返回.如果所有值都相等,則返回值由數組長度的比較結果確定.因此,根據Array#<=>當且僅當兩個數組長度相同且對應元素分別相等時才認為它們相等
["a", "a", "c"] <=> ["a", "b", "c"] -> -1
[1, 2, 3, 4, 5, 6] <=> [1, 2] -> 1
collect!
arr.collect!{|obj|block}-->arr
對arr的每個元素調用block,并用block的返回值去替換原元素.參見
a = %w(a b c d )
a.collect!{|x| x + "!"}
a
compact!
arr.compact! -> arr 或 nil
刪除arr中所有的nil元素.如果沒有改變內容,則返回nil
a = ["a", nil, "b", nil, "c", "d"]
a.compact
a
a.compact!
a
each_index
arr.each_index{|index|block} -> arr
除了傳遞到是元素的下表而不是元素本身之外,與Array#each相同
flatten
arr.flatten->an_array
返回一個新數組,該數組由原數組元素(遞歸)平鋪而成.
a = [1, 2, 3, 4, 5, 6]
t = [4, 5, 7, 9]
b = [a, t, 6,7,8]
b.flatten
include?
arr.include?(obj)->true或false
如果所給對象出現在數組中(也就是說如果數組的任何對象 == obj),則返回true,否則返回false.
a = %w(a, b, c)
a.include("b") -> true
a.include("g") -> false
join
arr.join(sqparator=$,)->str
將數組中的每個元素連接成一個字符串,使用分隔符來分割每個元素,并返回該字符串.
%w(a b c).join
=> "abc"
%w(a b c).join("囧")
=> "a囧b囧c"
pack
arr.pack(template)->binary_string
根據模板template中的指令將arr的內容打包成二進制字節序.指令A,a和Z后跟一個計數符,該計數符說明了生成字段的寬度.其余的指令也可以后跟一個計數符以表明被轉換的數組元素的個數.如果計數符是星號(*),則剩余的所有數組元素將被轉換."sSiIlL"指令中的任何一個都可后跟一個下劃線(_)以使用底層平臺的本地大小來表示指定的類型;否則使用平臺無關的大小.模板字符串的空格將被忽略.以#開頭到下一個新行或字符串結尾的注釋也被忽略.
a = %w(a b c)
n = [65, 66, 67]
a.pack("A3A3A3")
=> "a b c "
a.pack("a3a3a3")
=> "a\000\000b\000\000c\000\000"
n.pack("ccc")
push
arr.push(<obj>*)->arr
將給定參數添加到數組中.
a = %w(a b c)
a.push %w(d e f)
=> ["a", "b", "c", ["d", "e", "f"]]
reject!
arr.reject!{block}item->arr或nil
等價于Array#delete_if,但如果沒做任何改變,則返回nil.
delete_if
arr.delete_if{|item|block} -> arr
刪除數組arr中那些能使block返回true的元素
a = %w(a b c)
a.delete_if{|x| x >= "b"}
reverse
arr.reverse -> an_array
反序arr的元素,并返回新數組
slice
arr.slice(int)->obj
arr.slice(start,length)->an_array
arr.slice(range)->an_array
a = %w(a b c d e f)
a.slice(2)
=>"c"
a.slice(1,2)
=> ["b", "c"]
a.slice(1..3)
=>["b","c","d"]
uniq
arr.uniq->an_array
刪除arr中的重復元素,并返回結果數組,重復元素是通過使用eql?和hash比較檢測出來的.
a = %w(a a b b c)
a.uniq
=> ["a", "b", "c"]
分享到:
相关推荐
ruby安装包-rubyinstaller-devkit-3.0.2-1-x64安装文件 Ruby是一种面向对象、动态类型的脚本语言,由Yukihiro "Matz" Matsumoto于1995年创建。它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、...
Ruby是一种面向对象、动态类型的脚本语言,由Yukihiro "Matz" Matsumoto于1995年创建。它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、脚本自动化、服务器管理等领域。RubyInstaller是Windows...
src-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2rubysrc-oepkgs/ruby-ruby2...
本文将深入探讨ruby-debug-ide的功能、安装、使用方法以及与其他工具的集成,帮助你提升调试效率,打造更稳健的Ruby应用程序。 一、ruby-debug-ide概述 ruby-debug-ide是一个基于ruby-debug的库,它将调试功能暴露...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
Ruby - Ruby 开发 - 常用知识点 backtracking、bit_manipulation、ciphers、conversions、data_structures、discrete_mathematics、dynamic_programming、electronics、maths
ruby-oci8-2.1.5-x86-mingw32.gem,ruby连接oracle数据库gem包
标题中的"ruby-2.5.3-x64"指的是Ruby语言的特定版本,2.5.3,这是一个64位的构建。Ruby的版本迭代频繁,每个新版本通常会包含性能优化、新的特性和错误修复。2.5.3是2018年发布的一个稳定版本,它带来了诸如改进的...
本文档的"Ruby参考速查"部分,主要关注Ruby中常用的类及其方法,为Ruby开发者提供了一个快速查阅的资源。 首先,我们来看`Array`类,它是Ruby中最常见的数据结构之一,用于存储有序的元素集合。Array类包含了许多...
Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。...该版本为ruby-1.8.7-p302
### Ruby高级编程教程知识点概述 #### 一、Ruby的基础与入门 - **Ruby的安装与运行** - 如何在不同操作系统(如Windows、Linux、macOS)上安装Ruby环境。 - 安装过程中可能遇到的问题及解决方法。 - 使用命令行...
mingw32-ruby-1.9.1-wxruby-2.0.1-setup.exe
- **方法调用**:Ruby中的函数称为“方法”,可以通过对象调用。 #### 2.3 面向对象编程 - **类与对象**:类是对具有相同属性和行为的对象的抽象,而对象则是类的一个实例。 - **继承与多态**:Ruby支持单继承和...
ruby-1.8.7-p358-doc-chm.7z 3.65 MB 1,399 Other Other ruby-1.8.7-p358-i386-mingw32.7z 5.12 MB 1,503 i386 Other rubyinstaller-1.8.7-p358.exe 11.69 MB 13,534 i386 .exe (Windows executable)
ruby-irb-1.8.7.352-13.el6.x86_64.rpm ruby-irb-1.8.7.352-13.el6.x86_64.rpm
ruby安装包-rubyinstaller-devkit-3.0.2-1-x64安装包 Ruby是一种面向对象、动态类型的脚本语言,由Yukihiro "Matz" Matsumoto于1995年创建。它以其简洁、优雅的语法和强大的编程能力而闻名,广泛应用于Web开发、脚本...
ruby-oci8-1.0.3-x86-mswin32.gem
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装