初识Ruby

Ruby一个重要思想就是一切皆对象

其中常数都可以当做对象使用函数,ruby直接就支持大数。

9.class   #显示数据类型
3.zero?   #zero? 其中问号是函数的一部分
10.modulo(3)  #取余
(3.3).round   #近似值

ruby函数用def定义,其中返回值是否使用return是可选的,它默认会返回值。

Ruby变量:

ruby变量的使用不需要类型的声明,而且变量的规则根据变量的命名形式来定义。

以$开头的是全局变量

以@开始的是局部变量

大写字母开始的变量首次赋值后就当常量使用

Ruby字符串:

word = "hello"
puts word[0]      #104,字符的ASCII值
puts word[0].chr  #h
puts word[-1].chr #o
puts word[1..3]   #ell

常用的一些函数:

.chomp   #去除结尾的换行符'\n'

.reverse  #倒序

.reverse! #倒置并将结果保存到数组

“#{}”  在双引号中解析表达式

Time.now.strftime("%m-%d-%Y") #获取当前时间

正则表达式:

提取符合要求的子串:(目前刚学用比较土的方法先实现以下)

str[/@\w*/][1..-1]  #利用正则表达式提取str中以'@'开头的变量
若 str = "@abc = 123" 则上式提取出“abc”
#gsub 可以根据正则表达式提取子串
str.gsub(/[\'\"]/, "") #将字符串中的单引号,双引号都去掉,注意会全部去掉
phrases = ["Tome Jerry", "Jerry Tom", "Tom"]
puts phrases.grep(/\ATom\b/)  #\A表示查找以"Tom"开头的,\b表明查找的是一个单词,即"Tome"就不会被选中
puts phrases.grep(/\bTom\b/)  #查找包还"Tom"的字符串

#如果希望匹配Greg或者Gregory该如果写?以下哪个准确?

puts "Gregor"[/\bGreg(ory)?/]
puts "Gregor"[/\bGreg(ory)?\b/]
*  匹配任何个数,包括0个。默认情况下*会匹配尽可能多,如果 
+ 至少有一个才匹配,也可以写作 {1,} 
? 出现1次或0次,同{0,1} * 和 +
限定符都是贪婪的,因为它们会尽可能多的匹配文字,在它们的后面加上一个?就可以实现非贪婪或最小匹配。如*?或+?

参考:

http://www.ruby-lang.org/zh_cn/documentation/

http://rubylearning.com/

《Ruby最佳实践》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值