Files
news.gitea.happylizard.me/bin/gems/facets-3.1.0/lib/standard/facets/set.rb
T
pizza2d1 4cee170d66
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s
Add bin and edit workflow
2026-09-16 13:11:16 -06:00

37 lines
550 B
Ruby

require 'set'
class Set
#
# @author Phrogz
def power_set
if empty?
Set[self]
else
any_value = [to_a.first]
subsubs = (self - any_value).power_set
subsubs + subsubs.map{ |subset| subset + any_value }
end
end
end
class Array
# TODO: Move to Array extensions.
#
# @author Phrogz
def power_set
if empty?
[self]
else
subset = dup
value = [ subset.pop ]
subsubs = subset.power_set
subsubs.concat( subsubs.map{ |subset| subset + value } )
end
end
end