一.整数运算符方法
abs 返回数字的绝对值 例:-1.abs => 1
chr 返回数字对应的ASCII编码对应的符号 例:65.chr => A
times 循环整数次数的迭代方法,后面跟随代码块 例:3.times{|3| puts i},依次输出0,1,2
downto 从大到小进行迭代,使用方法如 5.downto(1){|i| puts i},循环从5~1,依次输出5,4,3,2,1
upto 从小到大进行迭代,使用方法如 2.upto(5){|i| puts i},循环从2~5,依次输出2,3,4,5
二.浮点数运算
ceil 返回比浮点数大的最小整数 例:1.2.ceil => 2
floor 返回比浮点数小的最大整数 例:1.2.floor => 1
rount 对浮点数四舍五入到一个整数 例:1.65.round => 2
to_i 返回直接截取掉小数点后数字的整数
三.关于字符串的方法
1.字符串通常使用双引号或单引号包含
str = "1234567" str = "abcdefg"
当构造一个很长的字符串,里面也包含单引号或双引号,用%,%q,%Q等字符串表示法。使用时后面需要加上一对随意的(<>,{},[])分隔符包含字符串。
str = %{mary said,"This is a test."} str = %q{This is a 'test'.} str = %Q[This is a 'test'.]
2.将变量嵌入到另外一个字符串中,使用格式#{var}
name = "Ruby" puts "The language is #{name}." #输出The language is Ruby.
3.字符串的基本操作
str[int] 传入一个整数,返回该位置的字符的ASCII编码
str[int,int] 传入两个整数,返回从第一个整数指定的偏移位置开始,长度为第二个整数参数的子字符串,如果偏移位置为负数,则表示位置从为不开始数起。
str[range] 传入一个区间参数,返回区间指定位置的子字符串,如果没有匹配返回nil
str[regexp] 传入一个正则表达式,则返回匹配表达式的那部分子字符串,如果没有匹配返回nil
str[regexp,int] 传入一个正则表达式和一个整数,则返回匹配表达式的结果中的第int的那个匹配值,如果没有匹配返回nil
str[string] 传入一个字符串参数,如果字符串包含这个字符串参数,则返回这个字符串参数,否则返回nil
str[] = "" 替换str的值
str = "Element reference test" puts str[1] #输出108 puts str[0,7] #输出Element puts str[0..3] #输出Elem puts str[-4,4] #输出test puts str["ref"] #输出ref puts str["hello"] #输出nil str[0,7] = "abcd" #str值变为abcd referencd test "hello"*2 #返回"hellohello" a = "hello" a = a + "world" puts a #输出"helloworld" b = "hello" b << "world" puts b #输出"hello world"
4.字符串常用方法
str.length或str.size 返回字符串的长度
str.concat(obj) 类似于+和<<方法,追加字符串
str.capitalize 将字符串首字符大写,但不改变str的值
str.capitalize! 将字符串str的首字符大写,改变它的值(!使方法直接作用于字符串)
str.delete(string) 返回删除string后的字符串,不改变它的值
str.delete!(string) 删除str中的string,改变它的值
str.each_byte{|byte|....} 对字符串中的每个字节进行迭代
str.each_line{|line|....} 对字符串的每行进行迭代
str.downcase 字符串转换为小写
str.upcase 字符串转换为大写
str.index?(string) 如果字符串包含string则返回true,否则返回false
str.index(string) 返回string在字符串中首次出现的位置
str.reverse 返回字符串的顺序反转的字符串
str.split(patten,<limit>) 基于分隔符patten将字符串str尽可能分割成大小为limit的若干子字符串,并以数组的形式返回。
str = "hello world" str.split(" ") #返回["hello","world"],找寻str中的空格,以空格为分界分成若干的子字符串组成数组 str.split("") #返回["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"] ,注意其中有个空格的元素 str.split("",2) #返回["h","ello world"]
5.字符串加密
第一种(crypt方法):
加密:
a = "hello world" puts a.crypt("sdfdsfds") #输出sd5JrsWY7usvI
第二种(MD5):
加密:
a = "hello world" b = [a].pack("m") puts b #输出aGVsbG8gd29ybGQ= aGVsbG8gd29ybGQ=
解码:
c = b.unpack("m") puts c #输出 “hello world”
相关推荐
下面是学习 Ruby 的一些实用建议:首先,了解 Ruby 的基本概念和语法。 Ruby 是一种面向对象的语言,具有简洁的语法和强大的功能。了解变量、数据类型、运算符、控制结构、函数和对象等基本概念。其次,选择合适的...
从给定的文件信息中,我们可以提炼出一系列关于Ruby编程语言的重要知识点,涵盖基础语法、变量类型、...以上总结了Ruby的一些基础知识点,这些内容对于初学者掌握Ruby编程语言至关重要,同时也是进一步深入学习的基石。
1. 面向对象:Ruby是一种纯面向对象的语言,意味着所有数据(包括基本类型)都是对象,每个对象都有其特有的方法。这使得编程更加灵活,易于理解和复用代码。 2. 动态类型:在Ruby中,变量的类型是在运行时自动确定...
根据提供的“ruby学习笔记”内容,我们可以从中提炼出多个重要的Ruby编程知识点,这些知识点对于初学者来说非常有用。下面将对这些知识点进行详细的解释与扩展。 ### 一、Ruby中的全局变量 Ruby提供了多个特殊变量...
ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...
在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...
- **面向对象**:Ruby是一门纯粹的面向对象语言,所有事物都是对象,包括基本的数据类型。 - **动态类型**:Ruby是一种动态类型语言,可以在运行时改变变量的类型。 #### 二、Ruby环境搭建与安装 在开始学习Ruby...
1. **面向对象编程(Object-Oriented Programming, OOP)**:Ruby是完全的面向对象语言,每个值都是一个对象,包括基本类型如整数、字符串和布尔值。类是创建对象的蓝图,实例化一个类就能创建一个新的对象。理解类...
《Python 学习笔记 第三版1》是一本面向有一定Python编程基础的读者的书籍,旨在深入解析Python 3.6的语言特性。作者虽然已经具备一定的写作经验,但仍然谦虚地表示无法确保内容完全正确,同时满足所有人的需求。他...
在Ruby中,一切都是对象,包括基本类型如整数、字符串和布尔值。这种特性使得编程更为简洁,因为你可以对任何对象进行方法调用。Ruby的类和模块系统也非常强大,它们提供了继承、封装和多态等面向对象特性。模块用于...
自动装箱允许基本类型与对应的包装类之间进行无缝转换,提升了代码的简洁性。例如,int与Integer之间的转换无需显式调用new Integer()或intValue()。 6. **NIO.2(New IO 2.0)**: NIO.2提供了新的文件系统API,...
### Solr学习笔记_v1.1 - 高性能搜索引擎的核心参数与查询语法详解 #### 一、Query参数:深入理解Solr查询的核心要素 Solr作为高性能的全文搜索引擎,其强大的查询能力很大程度上依赖于一系列精细调整的参数。以下...
### GDAL-Python库学习笔记 ...通过本节的学习笔记,我们不仅了解了GDAL的基本概念和功能,还掌握了一种在Windows平台上安装GDAL的方法。这将有助于开发者更好地利用GDAL进行地理空间数据的处理和分析工作。
本资源"java学习笔记JDK6课件和课本代码"聚焦于JDK 6版本,这是一个较早但仍然有其价值的Java版本,因为许多遗留系统仍基于它。 JDK 6发布于2006年,引入了多项改进和新特性,如增强的Swing组件、改进的JDBC API、...
1. **动态类型**:与Java不同,Groovy允许你在不指定类型的条件下编写代码,编译器会自动推断类型,提高了开发效率。 2. **简洁的语法**:Groovy使用了更少的括号和分号,比如函数调用和条件语句可以省略括号,使...
在Ruby中,一切都是对象,包括基本的数据类型如数字、字符串和布尔值。理解这一点至关重要,因为这意味着你可以对任何东西调用方法,这极大地增强了代码的灵活性和可扩展性。 Ruby的语法简洁明了,它采用了自解释的...
通过阅读这篇"JSON学习笔记",读者不仅可以了解JSON的基本概念,还能深入到实际开发中JSON的使用,包括解析、序列化、验证以及与HTTP、其他语言的交互等。同时,笔记可能会介绍如何利用提供的开源库来简化JSON处理的...
### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...