Sha256: 6c09bc2fd42736faec83299f56f08baadbe5c26698525367c57159fed056686e
Contents?: true
Size: 872 Bytes
Versions: 16
Compression:
Stored size: 872 Bytes
Contents
#!/usr/bin/env ruby # -*- encoding: utf-8 -*- # Copyright Steffie Dorn <mail@muflax.com>, 2017 # License: GNU APGLv3 (or later) <http://www.gnu.org/copyleft/gpl.html> class Numeric def round_into num ((self / num) / num + 1) * num end def round_to num (self / num.to_f).round * num end def multiple_of?(number) number != 0 ? self % number == 0 : zero? end DELIMITER_REGEX = /(\d)(?=(\d\d\d)+(?!\d))/ def delimit delimiter="_" left, right = self.to_s.split(".") left.gsub!(DELIMITER_REGEX) do |digit_to_delimit| "#{digit_to_delimit}#{delimiter}" end [left, right].compact.join(".") end def prime? return false if self < 2 not (2..(Math.sqrt(self))).any?{|f| self.multiple_of? f} end def factorial Math.factorial self end def factors (1..self).select{|f| self.multiple_of? f} end end
Version data entries
16 entries across 16 versions & 1 rubygems