`
酷的飞上天空
  • 浏览: 522468 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

ruby的基本类型(二)

阅读更多

数组常见运算方法

<< 追加元素 例如:[1,2]<<3 返回[1,2,3]

+ 串联方法 合并两个数组 例如:[1,2]+[3,4] 返回[1,2,3,4]

-  数组差集  删除比较数组中出现的元素 例如: [1,2,3]-[3,4] 返回[1,2]

& 数组交集 例如[1,2,3]&[3,4] 返回[3]

|  数组并集 例如:[1,2,3]|[3,4] 返回[1,2,3,4]

* 重复数组 如果*后面是整数则重复整数次数组,如果为字符串,则使用此字符串连接数组元素

例如:

[1,2,3]*2 #返回[1,2,3,1,2,3]
puts [1,2,3]*"--" #返回 1--2--3

 

数组具有枚举模块的所有方法。

其他常用方法

ary = []
ary.size/ary.length #返回数组的长度
ary.concat(other_array) #将other_array中的数组附加到ary中
ary.clear #清空数组
ary.delete(obj) #删除数组中与obj相等的元素,找到则返回,否则返回nil
ary.delete_at(index)#删除指定下标处的元素
ary.delete_if { |item| block  } #删除指定条件的元素(block返回true)
ary.first/ary.last #返回数组的第一个/最后一个元素
ary.compact #返回一个数组的副本,删除其中的nil元素
ary.flatten #返回一个只包含基本元素的数组
ary.index(obj) #返回第一个等于obj的元素下标
ary.insert(index, obj) #在指定位置插入对象到数组中
ary.join(sep) #合并数组为一个字符串,["a","b","c"].join("-") 返回a-b-c
ary.pop/ary.shift #删除数组中的最后一个/第一个元素
ary.push(obj) #类似于<<方法,将obj添加到数组中
ary.replace(other_array)#使用other_array替换掉数组中的内容
ary.reverse #反转数组中的元素

 散列hash

Ruby中散列直接对应的是Hash类,以下为创建一个散列的一些方法

s = Hash.new
s = Hash[1=>"a",2=>"b"]
s = {1=>"a",2=>"b"}
s = {:aa=>1,:bb=>2} #使用符号作为散列的键

 散列的常用方法

hsh = {:aa=>1}
hsh.clear #清空散列中所有键和值
hsh.delete(key) #删除散列中键为key的项
hsh.delete_if { |key,value| block  } #根据条件删除散列中的元素
hsh.has_key?(key) #检测是否含有键key
hsh.has_value?(value)#检测是否含有值value
hsh.index(value) #返回散列中值等于vlaue的键,返回第一个,没有返回nil
hsh.invert #返回逆转散列的键和值的新散列
hsh.keys #返回散列的键组成的数组
hsh.values #返回散列的值组成的数组
hsh.values_at(key) #返回给定的键,对应的值数组
hsh.length #返回散列中元素个数
hsh.merge(other_hash)#合并两个散列,如有重复键则使用other_hash中的值覆盖hsh中的值
hsh.replace(other_hash)#使用other_hash中的值替换hsh中相同键的值
hsh.to_a #将散列转换为数组

 正则表达式

创建方法

r = Regexp.new("\d")
r = /\d/
r = %r{\d}

 创建好了正则表达式对象就可以是用=~或match方法对字符串进行匹配

如:

str="2010-01-01 |||| 2010-01-01"
r = /\d{4}-\d{2}-\d{2}/
matches = str.scan(r)
puts matches

puts "============="

str.scan(r) { |match| puts match }
#输出:
#2010-01-01
#2010-01-01
#=============
#2010-01-01
#2010-01-01

 时间Time

now = Time.now
old = Time.local(1966,12,12,18,15,20)
puts now
puts old
puts old.strftime("%Y-%m-%m %H:%M:%S")

 输出:

2010-06-04 18:03:22 +0800
1966-12-12 18:15:20 +0800
1966-12-12 18:15:20
 

 

分享到:
评论

相关推荐

    Ruby元编程第二版中文

    7. **Ruby的鸭子类型**:Ruby强调“鸭子若能走路并嘎嘎叫,那它就是鸭子”,这意味着类型检查通常在运行时进行,这为元编程提供了便利。 通过学习“Ruby元编程第二版”,开发者将深入了解如何使用这些工具来编写...

    ruby基本数据类型简明介绍

    概括、ruby中的基本数据类型都是类类型,只不过为了书写和阅读的方便,为基本数据类型提供了较为简洁的书写方式而已。 一、数值类型 整数支持二进制,八进制,十进制,十六进制,根据整数的大小动态决定整数是Fixnum...

    Ruby 数据类型.pdf

    数字类型是Ruby中最基本的数据类型之一,它分为整数(Integer)和浮点数(Float)两大类。Ruby中的数字类型支持常见的数学运算,如加减乘除等,并且可以进行比较操作。 - **整数(Integer)**:表示没有小数部分的...

    Ruby 基本语言介绍

    #### 二、基本的 Ruby 语法 ##### 2.1 变量、常量和类型 **变量**是程序中的重要组成部分,用于存储数据。Ruby 支持不同类型的变量: - **局部变量**(或伪变量):以小写字母或下划线开头,例如 `var_var`。 - *...

    二十分钟Ruby入门教程

    在二十分钟的Ruby入门教程中,我们将快速浏览Ruby的基础知识,包括语法、数据类型、控制结构以及简单的类定义。 首先,让我们从Ruby的基本语法开始。Ruby的注释以`#`字符开始,一直持续到行尾。例如: ```ruby # 这...

    ruby语法基础教程

    1. **面向对象**:Ruby是纯面向对象的语言,每一个数据类型都是一个对象,包括基本类型如整数、字符串和布尔值。 2. **动态性**:Ruby支持动态类型,变量的类型在运行时决定,无需预先声明。 3. **强类型**:尽管是...

    Ruby编程Ruby Programming

    - **面向对象**:几乎所有事物在Ruby中都是对象,包括数字、字符串等基本数据类型。 - **动态性**:Ruby支持运行时修改代码结构,允许开发者在程序运行过程中改变类和方法的行为。 - **元编程能力**:Ruby提供了一种...

    Ruby 教程 The Book of Ruby

    ### Ruby 教程《The Book of Ruby》知识点总结 #### 一、书籍基本信息 - **书名**:《The Book of Ruby》 ...通过本书的学习,不仅可以掌握Ruby编程的基本技能,还能深入了解其背后的编程思想和设计理念。

    ruby(前途大好的ruby+rains)

    1. **面向对象**:Ruby是完全的面向对象语言,每一个数据都是对象,包括基本类型如整数、字符串和布尔值。所有操作都是通过消息传递给对象来完成的。 2. **动态性**:Ruby支持动态类型,变量的类型在运行时确定,...

    ruby语言帮助文当

    这个版本带来了许多性能改进和新特性,例如引入了“关键字参数”来增强函数调用的清晰度,以及“二进制字符串”类型,使得处理二进制数据更加便捷。此外,Ruby 2.0还引入了垃圾回收的改进,提升了程序运行效率。 ...

    Ruby基础学习资料

    1. **面向对象**:Ruby是纯面向对象的语言,万物皆对象,包括基本数据类型。 2. **动态性**:Ruby支持动态类型,变量无需提前声明类型,可以随时更改。 3. **元编程**:Ruby的元编程能力强大,允许在运行时修改类和...

    Ruby-Ruby的面向对象的枚举

    在Ruby编程语言中,"面向对象的枚举"是一个重要的概念,它结合了面向对象编程的灵活性和枚举类型的效率。Ruby的枚举通常指的是枚举类(Enum Class),这是一种自定义枚举类型的方法,允许我们创建具有特定行为的枚举...

    ruby官方chm文档

    《ruby23-core.chm》文档聚焦于Ruby的核心库,这是Ruby语言的基础部分,包括基本数据类型、控制结构、异常处理、类和模块系统等内容。例如,它会详细介绍如何创建和使用类、继承机制、模块混入、块和 Proc 对象,...

    Ruby 编程语言的书籍

    1. **类型与数据结构**:介绍Ruby中的各种基本数据类型,如整型、浮点型、字符串等,并深入讲解数组、哈希表等数据结构的使用方法和内部实现原理。 2. **控制流**:讲解条件语句(if/elsif/else)、循环结构...

    .一步一步学RUBY

    - **一切皆对象**:在Ruby中,从基本数据类型到布尔值,乃至`nil`,所有东西都被视为对象。方法调用参数也是可选的,这体现了Ruby的灵活性和面向对象的哲学。 - **语句块与迭代器**:Ruby支持简洁的循环语法,如`...

    Ruby-RubyCompiler针对Ruby设计的AOTAOT编译器

    Ruby是一种动态类型、面向对象的脚本语言,以其简洁、优雅的语法和强大的元编程能力而受到开发者喜爱。Ruby Compiler是专门为Ruby语言设计的一种AOT(Ahead-of-Time)编译器,它的出现是为了提高Ruby程序的运行效率...

    Ruby教程 脚本语言

    在Ruby中,一切皆为对象,包括基本的数据类型如数字、字符串和布尔值。这使得Ruby在面向对象编程方面具有很高的灵活性,程序员可以通过定义类和模块来构建复杂的软件结构。Ruby的语法简洁,易于阅读,强调代码的...

    Ruby 类型算法集合包

    Ruby Standard Library: Ruby 的标准库中包含了一些基本的算法,比如排序算法(sort 方法)、搜索算法(find 方法)等。 RubyGems: RubyGems 是 Ruby 的包管理器,它允许你安装和使用第三方库。许多算法库可以通过 ...

Global site tag (gtag.js) - Google Analytics