ruby count 函数的一个用法,不知道是什么意思

查看:136
本文介绍了ruby count 函数的一个用法,不知道是什么意思的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

帮忙解释一下如下代码含义:

a = "hello world"
a.count "hello", "^l"          #=> 4

以下是官方文档中的解释:
http://ruby-doc.org/core-2.3.0/String.html#method-i-count

count([other_str]+) → fixnum
Each other_str parameter defines a set of characters to count. The intersection of these sets defines the characters to count in str. Any other_str that starts with a caret ^ is negated. The sequence c1-c2 means all characters between c1 and c2. The backslash character \ can be used to escape ^ or - and is otherwise ignored unless it appears at the end of a sequence or the end of a other_str.

a = "hello world"
a.count "lo"                   #=> 5
a.count "lo", "o"              #=> 2
a.count "hello", "^l"          #=> 4
a.count "ej-m"                 #=> 4

"hello^world".count "\\^aeiou" #=> 4
"hello-world".count "a\\-eo"   #=> 4

c = "hello world\\r\\n"
c.count "\\"                   #=> 2
c.count "\\A"                  #=> 0
c.count "X-\\w"                #=> 3

解决方案

每个参数表示一个集合, ^表示补集 ("^l"表示除了l). 返回a中在(所有参数的交集)范围内的字符数.

集合"hello"和集合"^l"的交集是"heo", 所以数出来4个

这篇关于ruby count 函数的一个用法,不知道是什么意思的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆