1

我如何检查字符串的红宝石长度,它的范围,例如:

s_query.length?[5..20]

我是 ruby​​ 新手,如果检查,如何编写这样的代码?

4

4 回答 4

3

你几乎明白了:

 (5..20).cover? s_query.length
于 2013-01-16T11:31:21.423 回答
3

检查这个

s_query.length.between?(5, 20)
于 2013-01-16T11:37:05.063 回答
1

s_query.length.between?(5,20)

于 2013-01-16T11:34:46.267 回答
1

这里有一些东西可以冥想:

(5 .. 10) === 'hello world'.length # => false
(5 .. 10) === 'foo bar'.length # => true

这是有效的,因为===在 Range 中定义为返回布尔值 true/false,无论右侧是否在左侧范围内。

文档中

rng === obj → true or false click to toggle source

如果 obj 是范围的元素,则返回 true,否则返回 false。方便的是,=== 是 case 语句使用的比较运算符。

案例 79
当 1..50 然后打印“低\n”
当 51..75 然后打印 "medium\n"
当 76..100 然后打印 "high\n"
结尾

产生:

高的
于 2013-05-01T18:50:01.207 回答