Remove unnecessary utilities (#99)

- Comparable.clamp is already defined
- Boolean class does not exist
- String#start_with? already exists
- String#end_with? already exists
- String#bytesize already exists
- String#capitalize already exists
- Integer#digits already exists
- Array#first and Array#last already exist
- Array#shuffle already exists

Ruby's own Integer#digits returns an array with the least significant digit as the first array element. That means that the method's only usage has to be appended with a call to Array#reverse.
This commit is contained in:
Joni Savolainen
2021-02-26 21:38:27 +02:00
committed by GitHub
parent d6b80118c9
commit 4e43a06f1b
2 changed files with 2 additions and 84 deletions

View File

@@ -7,44 +7,10 @@ class Class
end end
end end
#===============================================================================
# module Comparable
#===============================================================================
unless Comparable.method_defined? :clamp
module Comparable
def clamp(min, max)
if max - min < 0
raise ArgumentError("min argument must be smaller than max argument")
end
return (self > max) ? max : (self < min) ? min : self
end
end
end
#===============================================================================
# class Boolean
#===============================================================================
class Boolean
def to_i
return self ? 1 : 0
end
end
#=============================================================================== #===============================================================================
# class String # class String
#=============================================================================== #===============================================================================
class String class String
def starts_with?(str)
proc = (self[0...str.length] == str) if self.length >= str.length
return proc || false
end
def ends_with?(str)
e = self.length - 1
proc = (self[(e-str.length)...e] == str) if self.length >= str.length
return proc || false
end
def starts_with_vowel? def starts_with_vowel?
return ['a', 'e', 'i', 'o', 'u'].include?(self[0, 1].downcase) return ['a', 'e', 'i', 'o', 'u'].include?(self[0, 1].downcase)
end end
@@ -57,24 +23,6 @@ class String
return self[-n..-1] || self return self[-n..-1] || self
end end
def bytesize
return self.size
end
def capitalize
proc = self.scan(/./)
proc[0] = proc[0].upcase
string = ""
for letter in proc
string += letter
end
return string
end
def capitalize!
self.replace(self.capitalize)
end
def blank? def blank?
blank = true blank = true
s = self.scan(/./) s = self.scan(/./)
@@ -114,44 +62,13 @@ class Numeric
end end
end end
#===============================================================================
# class Integer
#===============================================================================
class Integer
# Returns an array containing each digit of the number in turn.
def digits(base = 10)
quotient, remainder = divmod(base)
return (quotient == 0) ? [remainder] : quotient.digits(base).push(remainder)
end
end
#=============================================================================== #===============================================================================
# class Array # class Array
#=============================================================================== #===============================================================================
class Array class Array
def first
return self[0]
end
def last
return self[self.length-1]
end
def ^(other) # xor of two arrays def ^(other) # xor of two arrays
return (self|other) - (self&other) return (self|other) - (self&other)
end end
def shuffle
dup.shuffle!
end unless method_defined? :shuffle
def shuffle!
(size - 1).times do |i|
r = i + rand(size - i)
self[i], self[r] = self[r], self[i]
end
self
end unless method_defined? :shuffle!
end end
#=============================================================================== #===============================================================================

View File

@@ -191,7 +191,8 @@ class PokemonDataBox < SpriteWrapper
end end
def pbDrawNumber(number,btmp,startX,startY,align=0) def pbDrawNumber(number,btmp,startX,startY,align=0)
n = (number==-1) ? [10] : number.to_i.digits # -1 means draw the / character # -1 means draw the / character
n = (number == -1) ? [10] : number.to_i.digits.reverse
charWidth = @numbersBitmap.width/11 charWidth = @numbersBitmap.width/11
charHeight = @numbersBitmap.height charHeight = @numbersBitmap.height
startX -= charWidth*n.length if align==1 startX -= charWidth*n.length if align==1