`

rails array

阅读更多

 

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 降序

 

 

6、数组随机

Array#choice (Ruby 1.8.7) or Array#sample (Ruby > 1.8.7)

[1,2,3,4,5,6,7,8,9].choice

=> 5

[1,2,3,4,5,6,7,8,9].sample

=> 8

[1,2,3,4,5,6,7,8,9].sample(3)

=> [3,8,9]


分享到:
评论

相关推荐

    Ruby on Rails 指南 v5.0.1 中文版

    - **Array的扩展**:列举Array类被扩展后的新方法。 - **Hash的扩展**:展示Hash类的扩展方法。 - **Regexp的扩展**:说明Regexp类的扩展方法。 - **Range的扩展**:列举Range类被扩展后的新方法。 - **Date的扩展**...

    Ruby for Rails

    ### Ruby for Rails:关键技术与实践 #### 一、引言 《Ruby for Rails》是一本专为希望快速掌握Ruby及Ruby on Rails框架的开发者而编写的书籍。此书旨在帮助读者理解Ruby语言的核心概念以及如何将这些概念应用于...

    Ruby - Ruby for Rails

    - **核心类库**:探讨 Ruby 的核心类库,包括 Array、Hash、String 等类的功能及用法。 - **常用方法**:总结常用的核心类方法,如 map、select、each 等。 #### 3.2 标量对象 - **数值类型**:讲解数值类型(如 ...

    简单介绍Ruby on Rails对PostgreSQL数组类型的支持

    在Rails中创建数组类型的字段,可以在迁移(migration)文件中通过`:array =&gt; true`选项来实现。例如,以下代码创建了一个名为`table_with_arrays`的表,其中包含两个整数数组列`int_array`和`int_array_length`,以及...

    jb:用于Ruby on Rails的简单快速的JSON API模板引擎

    将名为*.jb的模板文件放在Rails应用程序的app/views/*目录中,然后进行渲染。 产品特点 没有难看的建造者语法 没有method_missing调用 带:collection选项的render_partial实际上会渲染集合(与Jbuilder不同) 句法 ...

    Ruby-ActiveModel的自定义验证用于检查数组是否包含在另一个中

    在Ruby开发中,ActiveModel是Rails框架的一部分,它提供了一种模型层的接口,使得非ActiveRecord对象也能具有类似于ActiveRecord的行为。这个标题提到的"Ruby-ActiveModel的自定义验证用于检查数组是否包含在另一个...

    acts-as-taggable-array-on:使用PostgreSQL数组的Rails一个简单而高性能的标记gem

    gem "acts-as-taggable-array-on" 然后执行: bundle 设置 要使用它,您需要具有一个数组列以充当taggable- tags 。 class CreateUser &lt; ActiveRecord :: Migration def change create_table :users do | t...

    searchable:在Tango Source上进行代码培训实践的Rails应用-Search source code

    关于这个程序 这是一个仅用于练习目的的小应用程序。... 确保您的解决方案返回ActiveRecord::Relation对象,而不是Array 。 这样,您可以链接示波器,并确保通过Kaminari或will_paginate分页能够按预期进行。 尝试通

    Royce:Ruby on Rails角色解决方案

    罗伊斯 在Rails中的角色。 安装 将此添加到您的Gemfile。 gem 'royce' 确保运行bundle install 。... royce_roles %w[ user admin editor ] # array of strings end class Sailor &lt; ActiveRecord :: Base

    rails_admin_baidu_map:支持 postgresql 和 mongodb 数据库

    Rails Admin 百度地图支持 Postgis 和 Mongoid 这个... :type =&gt; Array # [lat,lng] index ( { location : '2d' } , { min : - 180 , max : 180 } ) # create an special index before_save :fix_location , if : :lo

    ruby_dig:宝石,将Ruby 2.3的Hash#dig和Array#dig添加到早期的Ruby版本中

    该宝石将Ruby 2.3+中的Hash#dig和Array#dig添加到Ruby的早期版本中。 如果您运行的是Ruby 2.3或更高版本,则是无操作。 安装 将此行添加到您的应用程序的Gemfile中: gem 'ruby_dig' 然后执行: $ bundle 或将...

    tag_columns:使用PostgreSQLArray数据类型进行快速,简单的Rails ActiveRecord模型标记

    标签栏使用进行快速,简单的Rails ActiveRecord模型标记。 与类似,但重量较轻,功能较少。 另外,请确保签出 。用例为您的数据库记录分配类别。 将多个组分配给用户记录为博客帖子等分配类别。 等等...快速开始 # ...

    pgrel:ActiveRecord扩展,用于查询hstore和jsonb

    ActiveRecord扩展,用于查询hstore,array和jsonb。 兼容Rails &gt; = 4.2(包括Rails 6 )。 安装 在您的Gemfile中: gem "pgrel" , "~&gt; 0.3" 网上商店 查询方式 该功能基于ActiveRecord WhereChain 。 要开始查询...

    ar-orderable:用于简单订购的 Rails 3 插件

    Activerecord::可订购用于简单订购的 Rails 3 插件。安装插入您的Gemfile : gem "ar-orderable"然后bundle install设置添加订单字段,如order_nr为整数在模型中添加行acts_as_orderable并根据需要添加选项column: ...

    effective_datatables:对于Ruby on Rails,有效的ActiveRecord到Datatables dsl。 快速制作智能表

    有效数据表 使用高级DSL和一个ruby文件为任何ActiveRecord类或Array创建一个。... 有关的Rails网站示例,请参见 。 Effective_datatables 4.0 这是有效系列数据表的4.0系列。 这需要Twitter Bootstrap

    10Ruby 数组.docx

    Ruby 在 Web 开发领域有着广泛的应用,其中最著名的莫过于 Ruby on Rails(简称 Rails)。Rails 是一个全栈式的 Web 开发框架,它采用了 MVC(模型-视图-控制器)架构模式,旨在简化 Web 应用的开发过程。由于其高效...

    has_array_of:PostgreSQL数组上的ActiveRecord关联

    该插件使用PostgreSQL数组的功能实现了在Rails中进行has_and_belongs_to_many关联的替代方法。 在很多情况下,你只需要或的功能使用许多一对多与连接表是不必要的传统方法。 我们可以只存储id的整数数组。 它是如何...

    multipluck:一个用于 Rails 的 Ruby gem,它增强了 `pluck` 功能来选择多列

    多拨 Rails 的 Ruby gem,它增强了选择多列的pluck功能用法 # Fetch all user ids and names using var-argsUser . pluck ( :id , :name )# =&gt; [[1, "Bob"], [2, "Simone"], ...]# Fetch all user ids and names ...

    ruby-language-quickref.zip_About Language

    9. **内建集合**:Ruby提供了数组(Array)、哈希(Hash)、集合(Set)等丰富的数据结构。 10. **闭包**:Ruby的Proc和Lambda实现了闭包,可以捕获定义时的环境变量。 Ruby on Rails(Rails)则是在Ruby基础上...

Global site tag (gtag.js) - Google Analytics