有趣的Ruby-学习笔记5

这篇博客详细介绍了Ruby中的字符串操作,包括单引号和双引号字符串、转义字符以及字符串内建方法如capitalize、count、crypt等。接着探讨了数组的创建和内建方法,如取交集、连接、删除等。还讲解了哈希的相等性检查、清理、删除元素以及排序等操作。最后涉及了日期和时间的处理,如时区、夏令时和时间格式化。
摘要由CSDN通过智能技术生成

Ruby字符串

单引号字符串

单引号字符串没什么好说的,跟别的语言没什么区别

双引号字符串

在双引号字符串里面可以使用#{}来表达计算式的值,比如
x, y = 12, 36
puts "x + y 的值为 #{ x + y }"

 如果你就是想同时用单引号和双引号,Ruby还提供 %Q 和 %q 来引导的字符串变量, %q 使用的是单引号规则, %Q 使用的是双引号规则
比如 
desc1 = %Q{Ruby 的字符串可以使用 '' 和 ""。}
desc2 = %q|Ruby 的字符串可以使用 '' 和 ""。|

puts desc1
puts desc2
个人理解:这个功能简直就是蛋疼,虽然考虑到了极端情况,但是别的语言中,比如javascript也是这样的规则,但是都没出过什么大的问题,没有必要增加这种函数。反而降低了可读性

转义字符

没什么好说的,跟别的语言差不多,需要的时候查看表格就行了

字符串内建方法

内建方法有很多,有几个比较引起我的注意
  • str == obj 检查 str 和 obj 的相等性。如果 obj 不是字符串,则返回 false,如果 str <=> obj,则返回 true,返回 0。
  • str =~ obj 根据正则表达式模式 obj 匹配 str。返回匹配开始的位置,否则返回 false
  • str.capitalize 把字符串的首字母转换为大写字母显示。
  • str.capitalize! 把字符串的首字母转换为大写字母显示。但是 str 会发生变化并返回,后面所有函数后面加感叹号都是表示会修改原本的变量
  • str.casecmp 不区分大小写的字符串比较,比较的结果是数字,-1, 0 ,1
  • str.count(str, ...)给一个或多个字符集计数。如果有多个字符集,则给这些集合的交集计数
  • str.crypt(other_str) 给字符串加密,注意:这个方法是一个单向加密,并且other_str是一个2个字符的salt (长于2位字符的字符会被忽略,除非用$符号,但是用法实在太怪了),并且只有前8个字符会被加密,总之此方法甚怪,最好用专门的module比如BASE64或者Digest来做加密
  • str.delete(other_str, ...) 返回 str 的副本,参数交集中的所有字符会被删除
  • str.delete!(other_str, ...) 与 delete 相同,但是 str 会发生变化并返回。很多方法加上!意思就是把调用该方法的实例自己给改了,具体要用的时候可以查查手册看该方法是否有对应的加!的版本
  • str.downcase 把字符串转小写  相对的 str.upcase 是讲字符都转换为大写
  • str.each_line(separator=$/) { |substr| block } 使用参数作为记录分隔符(默认是 $/)分隔 str,传递每个子字符串给被提供的 block。这个是逐行处理,还有逐词处理(空格分隔)和逐字节处理,具体请参考手册
  • str.empty? 如果 str 为空(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值