我如何检查字符串的红宝石长度,它的范围,例如:
s_query.length?[5..20]
我是 ruby 新手,如果检查,如何编写这样的代码?
你几乎明白了:
(5..20).cover? s_query.length
检查这个
s_query.length.between?(5, 20)
还
s_query.length.between?(5,20)
这里有一些东西可以冥想:
(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" 结尾
产生:
高的