Ruby小笔记,持续补充

  • 逻辑或运算符作用,判断空值的语法糖

a=nil

a||=333  则 a=333

 

  • inject的语法糖

inject(initial, sym) → obj inject(sym) → obj inject(initial) {| memo, obj | block } → obj inject {| memo, obj | block } 

例如  (5..10).inject(1,:+) 与 (5..10).inject(1) {|sum,n| sum+n}


  •  ruby gem 不下载rdoc ri

vim ~/.gemrc

gem: --no-ri --no-rdoc

 

  • ruby的正则表达式
        http://rubular.com/
[abc]A single character: a, b or c
[^abc]Any single character but a, b, or c
[a-z]Any single character in the range a-z
[a-zA-Z]Any single character in the range a-z or A-Z
^Start of line
$End of line
\AStart of string
\zEnd of string
.Any single character
\sAny whitespace character
\SAny non-whitespace character
\dAny digit
\DAny non-digit
\wAny word character (letter, number, underscore)
\WAny non-word character
\bAny word boundary character
(...)Capture everything enclosed
(a|b)a or b
a?Zero or one of a
a*Zero or more of a
a+One or more of a
a{3}Exactly 3 of a
a{3,}3 or more of a
a{3,6}Between 3 and 6 of a

 

  •  类似awk的文本处理,命令行方式
            awk参考 http://www.cnblogs.com/chengmo/archive/2010/10/06/1844818.html 和 man awk
            cat /etc/passwd |awk -F: '/root/{print $1}' 
            或者
            awk -F: '/root/{print $1}' /etc/passwd

            ruby实现
            cat /etc/passwd |grep root |ruby -F: -ane 'puts $F[0]'

            注意要使用$类预定义变量,用双引号的时候,需要使用#{$_}计算变量值 
             cat /etc/passwd |grep root|ruby -ne 'a=$_.match(/\d+/);puts "#{$.} #{a} #{$_}" '

  • Rubygem出现“too many connection resets ”错误

          gem install 出现:删除用户目录下的.gem目录,以及gem的各种cache

          push gem 出现:http://help.rubygems.org/discussions/problems/715-too-many-connection-resets

 

  • Ruby正则表达式一特殊语法

             a = "hello there"

            a[/[aeiou](.)\1/, 1] #=> "l"

  • *的匹配

一般来说*用于把一个array展开: 

      a, *b = [1,2,3]  #a = 1, b = [2,3]  

     引用 http://www.iteye.com/topic/24642

  •  

 

 

 




转载于:https://my.oschina.net/magonglei/blog/17520

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值