`
gift5168xf
  • 浏览: 28989 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby中数组及hash基础

    博客分类:
  • ROR
阅读更多

数组及 hash 相关用法

数字和字符串都可以作为 hash 的键

 

将数组转化为 hash :( a 为对象数组)

首先定义一个 hash h={} a.each {|e|h[e.code]=e}

 

.compact 移出数组内所有 nil 的元素。形成不含 nil 的数组

 

.join( “” ) 将数组以(“”)内的格式输出

 

.map{|u| [u.name,u.id]} 将数组中的元素再以数组形式输出

 

.group_by(|a| a.rxsj.year).keys 按照数组中的某些内容进行分组形成 hash 集合

 

Params[:student] 取到的是一个 hash params[:student][:rxsj] 取到的是里面的项

 

Select_tag(:xiao,options_for_select( 放入 hass)) form.select() 的用法相同

 

Redirect_to :action=>xxx :student=>xxx :student 传入的 hash 可以被 action 中的 params[:student] 接收到

 

数组 << 对象 往数组内增加一个元素

 

Hash.each 的迭代为 hash.each{|k,v| ….}k 代表键, v 代表值

 

Ruby 中函数的默认的返回值为 true ,结束函数时应以 return 来结束

 

对于不是一行的语句块要用 do end

xxxx.each do |aaa|

…………

End

 

数组 .include?( 一个元素 ) 返回 true false 判断是否包换该元素

注:数组的迭代有顺序,而 hash 的迭代没有顺序

数组操作

1 、数组定义
arr1=[]
arr2=Array.new
arr3=[
'1' , '2' , '3' ]
2
、输出
print arr3, "\n" #123
putsarr3[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" #aa45bb41325
print aaa*2, "\n" #aa4566aa4566
print bbb-aaa #132
print aaa|bbb, "\n" #aa45bb132
print aaa&bbb, "\n" #45
print bbb.sort, "\n" #12345 排序
print aaa.reverse, "\n" #bb54aa 倒置
print bbb.sort.reverse, "\n" #54321 降序

分享到:
评论

相关推荐

    Ruby简明教程之数组和Hash介绍

    今天学习的是数组和Hash,数组在很多编程语言中都能常常用到。 数组: 数组是存储数据的一种容器,在Ruby中,数组中存储的数据可以是任何类型的数据;这和JAVA不同,在JAVA中,数组是存储同一类型数据的结构。 1. 在...

    10Ruby 数组.docx

    这些对象可以是任何类型的 Ruby 对象,包括但不限于字符串(String)、整数(Integer)、哈希(Hash)甚至是其他数组(Array)等。数组中的每个元素都有一个与之关联的索引,索引从 0 开始。此外,Ruby 支持负数索引,即索引...

    ruby 数组使用教程

    下面我们将深入探讨Ruby数组的各种操作。 1. **创建数组**:Ruby数组的创建非常直观,只需在方括号`[]`内列出元素,并用逗号隔开即可。例如,`ary = [1, 2, "3"]` 创建了一个包含整数和字符串的数组。 2. **数组...

    Ruby中的数组和散列表的使用详解

    在Ruby编程语言中,数组(Arrays)和散列表(Hashes)是两种非常重要的数据结构,它们用于存储和管理对象的集合。数组以整数为索引,而散列表则使用任意对象作为键。这两者都是动态调整大小的,允许在需要时添加新的...

    Ruby中关于hash的基本使用方法

    ### Ruby中关于Hash的基本使用方法 #### 一、哈希的概念 哈希(Hash)是一种存储键值对的数据结构,在Ruby中,哈希允许我们通过键(Key)来访问值(Value)。与数组不同,数组的索引是整数型的,而哈希的键可以是...

    Ruby自学笔记

    以上是Ruby自学笔记中提及的关键知识点的详细解读,如果要学好Ruby语言,深入理解这些基础知识是非常必要的。Ruby语言的这些特性与规则构成了其独特的编程范式,使得它在动态语言领域中占有一席之地。

    learning-ruby.

    此外,Ruby还有数组(Array)和哈希(Hash)等复合数据类型。 2. **控制结构**:Ruby中的控制结构包括条件语句(如if/else,case/when)、循环(如for,while,until,each)以及流程控制语句(如break, next, ...

    ruby中文 文档

    6. **哈希(Hash)**:Ruby的哈希是一种关联数组,键值对的存储方式,文档会介绍如何创建和操作哈希。 7. **正则表达式(Regexp)**:Ruby内置了强大的正则表达式支持,用于文本匹配和处理。 8. **文件和I/O操作**...

    ruby中文教程(源代码)

    - 数据类型:Ruby是动态类型语言,主要数据类型包括字符串(`String`)、整数(`Integer`)、浮点数(`Float`)、布尔值(`TrueClass`和`FalseClass`)、数组(`Array`)、哈希(`Hash`)、符号(`Symbol`)等。...

    Ruby语言中文教程

    Ruby中的数组(Array)用于存储有序的元素集合,可以使用索引访问。哈希(Hash)则是一种键值对的集合,通过键来访问对应的值。Ruby的数组和哈希都支持丰富的操作,如合并、迭代、过滤等。 五、模块和类 Ruby的...

    Ruby on Rail 基础知识 一张纸

    通过本文的学习,我们可以了解到Ruby on Rails的一些基础知识点,包括各种字符串处理方法、正则表达式方法、时间处理方法、数组处理方法、验证方法以及枚举混合方法,同时也了解了Rails项目的默认目录结构。这些基础...

    在Ruby中创建和使用哈希的教程

    在Ruby编程语言中,哈希(Hash)是一种特殊的数据结构,用于存储键值对(key-value pairs)。在本教程中,我们将详细介绍如何在Ruby中创建和使用哈希,罗列各种方法和技巧,并解释哈希的特性。 ### 理解哈希的基本...

    Ruby常见面试题.pdf

    Ruby中的数组(Array)和哈希(Hash)有什么区别?请说明在Ruby中数组和哈希的不同特点。 **数组**是有序的元素集合,可以通过索引访问;**哈希**是键值对的无序集合,通过键来访问对应的值。 **示例**: ```ruby...

    Ruby中的Hash哈希类型基本操作方法小结

    1.创建哈希:就像创建数组一样,我们可以通过Hash类来创建一个Hash实例: h1 = Hash.new #默认值为nil h2 = Hash.new(“This is my first hash instance”) #默认值为” This is my first hash instance”: 上面两...

    Ruby编程Ruby Programming

    这本面向初学者和高级读者的指南旨在全面介绍Ruby编程语言的基础及其高级特性,因此我们将从多个角度来解析这些内容。 ### 一、Ruby编程语言简介 #### 1.1 Ruby语言的历史与发展 Ruby是一种动态、面向对象的脚本...

Global site tag (gtag.js) - Google Analytics