░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/canvas/vendor/bundle/ruby/3.1.0/gems/expgen-0.1.1/lib/expgen
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: randomizer.rb
module Expgen module Randomizer extend self def range(min, max) if min == "*" [0,5] elsif min == "+" [1,5] elsif min and max [min, max] elsif min [min, min] else [1,1] end end def repeat(min, max) first, last = range(min, max) number = rand(last - first + 1) + first number.times.map { yield }.join end def randomize(tree) case tree when Array then tree.map { |el| randomize(el) }.join when Nodes::Alternation then randomize(tree.options.sample) when Nodes::Group then repeat(tree.repeat, tree.max) { randomize(tree.elements) } when Nodes::Character then repeat(tree.repeat, tree.max) { tree.chars.sample } end end end end
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 nodes.rb
RB
2.5 KB
2023-09-24 03:48
EDIT
📄 parser.rb
RB
3.6 KB
2023-09-24 03:48
EDIT
📄 randomizer.rb
RB
817 B
2023-09-24 03:48
EDIT
📄 transform.rb
RB
1.1 KB
2023-09-24 03:48
EDIT
📄 version.rb
RB
38 B
2023-09-24 03:48
EDIT