ruby的计算符合正常编程逻辑
比如:
2 + 6
3 * 5
3 + ( 40 / 4 )
2**3 //2的3次方
Math.sqrt(64) //开方
Math是Ruby内建的数学模块。在Ruby中,模块提供了两种角色:一种角色是将类似的方法聚集在同一个“家族”名下。因此,Math也包括sin、tan这样的方法。第二种角色是一个圆点(dot),它标记了消息的接收者。什么是消息?在上面的例子中,sqrt(9)便是消息,它意味着调用sqrt方法取出9的平方根。
ruby的函数:
"Funny".reverse //倒序排列
"funny".length //获取长度
"funny" * 5 //五次拼接
关于整数的反转不可以
40.reverse
整数包括固定长整数(Fixnum)与大数(Bignum)。Fixnum可表示系统平台上自然操作的数值范围(对32位机器是-230~230-1),而Bignum则表示比此范围更大的整数。
而是需要先把整数转换成字符串再进行反转:
40.to_s.erverse
类似的函数:
to_i //转换成integer类型
to_a //转换成数组
数组及数组相关的函数:
[12, 47, 35].max //数组取最大值
.sort! //排序,
ticket = [14, 37, 18]
poem['toast'] = 'honeydew' //数组替换
poem.lines / bytes / chars.to_a.reverse //文本根据线/字节/字符,划分成数组后,反转,是数组的元素反转
poem.lines / bytes / chars.to_a.reverse.join//转换后的数组反转后连接(join)成一个字符串
poem.include?"my head"//数组中是否包含某个元素
poem.downcase//字符串中的所有转换成小写
您可能会注意到,sort! 方法在其结尾有一个感叹号。 这只是表示我们打算让Ruby直接修改我们构建的同一个数组,而不是制作一个全新的排序副本。
另外 upcase方法把字符串中的所有字母转换成大写。 downcase方法把字符串中的所有字母转换成小写。 swapcase方法也是转化字符串中字母的大小写,但是它会把大写字母换成小写,小写字母换成大写。
字典(dictionary)hash
books = {}//空字典
books = {"Gravity's Rainbow"=>:splendid, "Funny"=>"so funny"}
books.length //数量
books.keys //所有的key
books.values //所有的value
ratings = Hash.new(0) //新建空Hash,注意区分大小写
系统符号
单词前加冒号,变成系统符号,它比字符串更节约内存,当在程序中多次使用一个单词时,建议使用系统符号。系统符号在计算机中只存储一次,而单词却要存储上千次。
网友评论