Array
& 取两数组相同
* 数组相乘
+ 数组相加
- [1,2,3]-[1,2,4] = [3]
<< 追加
<=> 比较每个元素 小于-1等于0大于1(每个元素比较)
to_ary 转换成数组
== 相等
[] 下标引用。a=[1,2,3,4].a[1]下标为1的元素,a[1,3]从下标为1顺序取三个,a[1..3]1-3的元素.特殊 a[4]=>nil, a[4..6]=>[], a[5..7] => nil
[]= 赋值
| 并集操作,也就是把不同的组合在一起
assoc('a') 匹配子数组第一个元素,匹配到返回子数组,否则nil不匹配字符串
at 返回下标处元素,比[]快,不支持range(范围,例:1..5)参数
clear 清楚数组
collect收集 对每个元素调用block。!号模式替换原来的,此拷贝原来数组
compact压缩 去掉nil,有!号模式
concat 追加后面的数组
delete 删除指定元素,返回删除元素,数组没有指定的元素返回nil,有block返回block[1,2].delete(1) {"sorry"}
delete_at 删除指定下标的
delete_if 有条件删除,调用block,返回剩余元素
each 循环数组
each_index 循环下标
empty? 判断是否为空
eql? 比较
fetch取来 用法a=[1,2,3] a.fetck(1)=>2,a.fetch(1,"b")=>1,a.fetch(5,"b")=>b,a.fetch(5){|i|i*i}=>25
fill填充,装满 参数型式(obj),(obj,range(范围)),{|i| i代表下标},(range){|i|操作}
flatten 扁平数组,!号模式
include? 包含 true or false
index 返回下标或nil
insert 插入只能指定下标,不能指定下标范围
join 合并,后面可以加参数('-')
last 返回最后一个,也可以加返回最后几个
length 数组长度
map 和collect同义
nitems 返回非nil的长度
pop 删除数组最后一个元素并返回,nil也返回nil
push 将指定参数加到数组中,可以任何对象
rassoc 不怎么明白有何用
reject 等同于delete_if
replace取代 替换元素
reverse相反 反序有!模式
reverse_each 逆序遍历数组
rindex 删除数组的最后一个指定的对象,没有返回nil
shift 删除第一个
slice 于[]同义
slice! 删除给定的索引,参数是range
sort 排序,有!模式
to_a,to_ary 转换成数组
tracspose 二维数组更换行和列
uniq 删除重复元素,有!模式
unshift 添加对象到数组首部
values_at 参数下标,返回数组。可以是范围
、数组定义
arr1 = []
arr2 = Array.new
arr3 = ['1','2','3']
2、输出
print arr3,"\n" #123
puts arr3[0] #1
print arr3.join(",") #1,2,3
3、访问数组元素
arr1[0]
arr1[-1] #这个比较有意思,意思是最后一个的数据
arr1.first
arr1.last
arr1.max
arr1.min
arr1.length
arr1.size
4、数组操作
arr3[4] = '5' #此时arr3[3]默认尾nil
arr3.delete_at(3) #删除指定下标的元素
arr3[2] = ["3a","3b","3c"] #可以这样来做
arr3.delete(["3a","3b","3c"]) #可以删除上面添加的
arr3.push('6') #插入元素
arr3.insert(3,"b") #在指定位置插入新元素
arr3<<"f"<<2 #从左至右一次加入元素
arr3.pop #删除尾元素
arr3.shift #删除首元素
arr3.clear #清空数组
5、数组运算
aaa = [" aa ",4,5," bb "]
bbb = [4,1,3,2,5]
print aaa + bbb,"\n" # aa 45 bb 41325
print aaa*2,"\n" # aa 45 66 aa 45 66
print bbb - aaa #132
print aaa | bbb,"\n" # aa 45 bb 132
print aaa & bbb,"\n" #45
print bbb.sort,"\n" #12345 排序
print aaa.reverse,"\n" # bb 54 aa 倒置
print bbb.sort.reverse,"\n" #54321 降序
分享到:
相关推荐
Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...
- **正则表达式**:Ruby内置了强大的正则表达式支持,方便文本处理。 - **异常处理**:Ruby的异常处理机制允许开发者优雅地捕获和处理程序中的错误。 - **多线程与并发**:Ruby支持多线程编程,但需要注意的是,由于...
- **Routing**:Rails 使用了一种基于正则表达式的路由机制,可以根据 URL 自动映射到对应的控制器方法。 - **Middleware**:中间件是 Rails 应用的一个重要组成部分,它们位于 HTTP 请求和响应的处理流程中,可以...
使用正则表达式或者专门的日志解析库(如lograge)来提取关键信息,例如视图渲染的开始和结束时间。 3. **计算渲染时间**:一旦我们有了开始和结束时间,可以通过减法计算出视图渲染的具体耗时。考虑到时间戳通常为...
1. **通过Ruby视角理解Rails** - 了解Ruby的基本概念和技术要点对于深入理解Rails至关重要。 - 通过Ruby的视角,可以更好地把握Rails的设计理念和最佳实践。 2. **通过Rails视角理解Ruby** - 在实际项目开发中,...
1. **Ruby基础**:变量、常量、符号、数组、哈希、字符串、正则表达式等基本数据类型,以及控制结构、方法、类和模块等面向对象特性。 2. **元编程**:Ruby强大的元编程能力使得代码更加灵活和可扩展,书中详细解释...
1. **安装 gem**:首先,在你的Rails项目的`Gemfile`中添加`gem 'profanity_filter'`,然后运行`bundle install`命令来安装。 2. **配置**:在你的Rails应用中,需要配置脏话过滤器。这通常在`config/application....
在编程语言Ruby中,正则表达式是一个非常重要的概念,它是一种用于匹配字符串中字符组合的模式。在Ruby语言中,正则表达式不仅可以用于搜索和验证字符串,而且还可以执行复杂的文本处理,如查找、替换和分割字符串等...
1. **Node.js**:Node.js是一个开源、跨平台的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码。它基于Chrome V8引擎,提供了异步、事件驱动的I/O模型,使得它在处理高并发场景时非常高效。 2. **...
Ruby中的正则表达式是强大的文本处理工具,用于在字符串中进行模式匹配、搜索和替换。它们由一系列特殊字符和语法组成,使得开发者能够高效地处理文本数据。 首先,正则表达式通常由两个斜杠 `/` 包围,例如 `/...
8. **正则表达式**:Ruby的Regexp类提供了强大的文本匹配和操作功能,支持多种正则表达式语法。 9. **块和迭代器**:Ruby中的块(采用do..end或{}语法)和迭代器(如each、map等)是处理集合数据的重要工具。 10. ...
1. **正则表达式库**:在不同的编程语言中,有专门的库支持正则表达式操作。比如,Python有`re`库,Java有`java.util.regex`包,JavaScript中内置了全局对象`RegExp`。这些库提供了诸如`match()`、`search()`、`...
1. **面向对象**:Ruby是一种面向对象的语言,几乎所有的东西都是对象,包括类和模块。 2. **动态类型**:Ruby是动态类型的语言,变量的类型在运行时确定。 3. **自动内存管理**:Ruby具有垃圾回收机制,自动管理...
对于重复使用的验证规则或者正则表达式匹配的情况,创建自定义验证器可以提高代码的可读性和可维护性。例如: ```ruby # 差的方式 class Person validates :email, format: { with: /^([^@\s]+)@((?:[-a-z0-9]+\.)...
它深入探讨了Ruby语言的各种特性,包括基础语法、面向对象编程、模块和类、异常处理、文件系统操作、网络编程以及正则表达式等。书中的例子丰富,旨在帮助读者理解并掌握Ruby的精髓,从而能以"Ruby Way"的方式来思考...
例如,在上面的部分中提供的`Email`类就是这样一个例子,它通过正则表达式检查邮箱地址的有效性。 2. **配置JavaScript文件**:接着,需要在项目的`javascripts`目录下新建一个`rails.validations.custom.js.coffee...
正则表达式在Ruby on Rails中用于模式匹配和文本处理,以下是一些常用的正则表达式符号: - `^`: 表示字符串的开始。 - `$`: 表示字符串的结束。 - `.`: 匹配任何单个字符。 - `(a|b)`: 表示a或b。 - `()`: 表示一个...