File: cover.rb

package info (click to toggle)
ruby-character-set 1.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 416 kB
  • sloc: ansic: 2,597; ruby: 1,290; makefile: 7; sh: 4
file content (25 lines) | stat: -rw-r--r-- 558 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
require_relative './shared'

str = 'Lorem ipsum et dolorem'
rx = /\S/
cs = CharacterSet.whitespace.inversion

benchmark(
  caption: 'Detecting non-whitespace',
  cases: {
    'Regexp#match?'       => -> { rx.match?(str) },
    'CharacterSet#cover?' => -> { cs.cover?(str) },
  }
)

str = 'Lorem ipsum et dolorem'
rx = /[^a-z]/i
cs = CharacterSet.new('A'..'Z') + CharacterSet.new('a'..'z')

benchmark(
  caption: 'Detecting non-letters',
  cases: {
    'Regexp#match?'       => -> { rx.match?(str) },
    'CharacterSet#cover?' => -> { cs.cover?(str) },
  }
)