`
moneyinto
  • 浏览: 33838 次
  • 性别: Icon_minigender_1
  • 来自: 东台
社区版块
存档分类
最新评论
阅读更多

一.整数运算符方法

 

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”

 

分享到:
评论

相关推荐

    RubyStudy-master-ruby学习笔记

    下面是学习 Ruby 的一些实用建议:首先,了解 Ruby 的基本概念和语法。 Ruby 是一种面向对象的语言,具有简洁的语法和强大的功能。了解变量、数据类型、运算符、控制结构、函数和对象等基本概念。其次,选择合适的...

    个人ruby学习笔记

    从给定的文件信息中,我们可以提炼出一系列关于Ruby编程语言的重要知识点,涵盖基础语法、变量类型、...以上总结了Ruby的一些基础知识点,这些内容对于初学者掌握Ruby编程语言至关重要,同时也是进一步深入学习的基石。

    学习 Ruby 的笔记以及 Demo.zip

    1. 面向对象:Ruby是一种纯面向对象的语言,意味着所有数据(包括基本类型)都是对象,每个对象都有其特有的方法。这使得编程更加灵活,易于理解和复用代码。 2. 动态类型:在Ruby中,变量的类型是在运行时自动确定...

    ruby学习笔记

    根据提供的“ruby学习笔记”内容,我们可以从中提炼出多个重要的Ruby编程知识点,这些知识点对于初学者来说非常有用。下面将对这些知识点进行详细的解释与扩展。 ### 一、Ruby中的全局变量 Ruby提供了多个特殊变量...

    ruby 学习笔记(2) 类的基本使用

    ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...

    Groovy学习笔记 PDF版

    在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...

    ruby语言入门教程-自学笔记

    - **面向对象**:Ruby是一门纯粹的面向对象语言,所有事物都是对象,包括基本的数据类型。 - **动态类型**:Ruby是一种动态类型语言,可以在运行时改变变量的类型。 #### 二、Ruby环境搭建与安装 在开始学习Ruby...

    ruby初学笔记ruby初学笔记

    1. **面向对象编程(Object-Oriented Programming, OOP)**:Ruby是完全的面向对象语言,每个值都是一个对象,包括基本类型如整数、字符串和布尔值。类是创建对象的蓝图,实例化一个类就能创建一个新的对象。理解类...

    Python 学习笔记 第三版1

    《Python 学习笔记 第三版1》是一本面向有一定Python编程基础的读者的书籍,旨在深入解析Python 3.6的语言特性。作者虽然已经具备一定的写作经验,但仍然谦虚地表示无法确保内容完全正确,同时满足所有人的需求。他...

    ruby介绍及相应的ruby demo示意源码,供大家参考学习

    在Ruby中,一切都是对象,包括基本类型如整数、字符串和布尔值。这种特性使得编程更为简洁,因为你可以对任何对象进行方法调用。Ruby的类和模块系统也非常强大,它们提供了继承、封装和多态等面向对象特性。模块用于...

    jdk6学习笔记(17,18,19,20,21)

    自动装箱允许基本类型与对应的包装类之间进行无缝转换,提升了代码的简洁性。例如,int与Integer之间的转换无需显式调用new Integer()或intValue()。 6. **NIO.2(New IO 2.0)**: NIO.2提供了新的文件系统API,...

    solr_学习笔记_v1.1

    ### Solr学习笔记_v1.1 - 高性能搜索引擎的核心参数与查询语法详解 #### 一、Query参数:深入理解Solr查询的核心要素 Solr作为高性能的全文搜索引擎,其强大的查询能力很大程度上依赖于一系列精细调整的参数。以下...

    GDAL-Python库学习笔记

    ### GDAL-Python库学习笔记 ...通过本节的学习笔记,我们不仅了解了GDAL的基本概念和功能,还掌握了一种在Windows平台上安装GDAL的方法。这将有助于开发者更好地利用GDAL进行地理空间数据的处理和分析工作。

    java学习笔记JDK6课件和课本代码

    本资源"java学习笔记JDK6课件和课本代码"聚焦于JDK 6版本,这是一个较早但仍然有其价值的Java版本,因为许多遗留系统仍基于它。 JDK 6发布于2006年,引入了多项改进和新特性,如增强的Swing组件、改进的JDBC API、...

    Groovy语法&Gradle配置学习笔记

    1. **动态类型**:与Java不同,Groovy允许你在不指定类型的条件下编写代码,编译器会自动推断类型,提高了开发效率。 2. **简洁的语法**:Groovy使用了更少的括号和分号,比如函数调用和条件语句可以省略括号,使...

    Ruby 语言教程从小白到入门

    在Ruby中,一切都是对象,包括基本的数据类型如数字、字符串和布尔值。理解这一点至关重要,因为这意味着你可以对任何东西调用方法,这极大地增强了代码的灵活性和可扩展性。 Ruby的语法简洁明了,它采用了自解释的...

    JSON学习笔记

    通过阅读这篇"JSON学习笔记",读者不仅可以了解JSON的基本概念,还能深入到实际开发中JSON的使用,包括解析、序列化、验证以及与HTTP、其他语言的交互等。同时,笔记可能会介绍如何利用提供的开源库来简化JSON处理的...

    Groovy学习笔记

    ### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...

Global site tag (gtag.js) - Google Analytics