ruby基本类型学习笔记(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”

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值