File: delete_in.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 (29 lines) | stat: -rw-r--r-- 814 bytes parent folder | download
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
26
27
28
29
require_relative './shared'

str = 'Lorem     ipsum       et      dolorem'
rx = /\s/
trt = "\t\n\v\f\r\s"
cs = CharacterSet.whitespace

benchmark(
  caption: 'Removing ASCII whitespace',
  cases: {
    'String#gsub'            => -> { str.gsub(rx, '') },
    'String#tr'              => -> { str.tr(trt, '') },
    'CharacterSet#delete_in' => -> { cs.delete_in(str) },
  }
)

str = 'Lörem ipsüm ⛷ et dölörem'
rx = /[\s\p{emoji}äüö]/
trt = "\t\n\v\f\r\s😀-🙏äüö"
cs = CharacterSet.whitespace + CharacterSet.emoji + CharacterSet['ä', 'ö', 'ü']

benchmark(
  caption: 'Removing whitespace, emoji and umlauts',
  cases: {
    'String#gsub'            => -> { str.gsub(rx, '') },
    'String#tr'              => -> { str.tr(trt, '') },
    'CharacterSet#delete_in' => -> { cs.delete_in(str) },
  }
)