Skip to content

Instantly share code, notes, and snippets.

@MrBean83
MrBean83 / get_grade
Last active December 20, 2015 01:09
def get_grade(grade)
average = grade.to_i
case average
when 90..100
"A"
when 80...90
"B"
when 70...80
"C"
@MrBean83
MrBean83 / gist:6092939
Last active December 20, 2015 07:19
"Count the numbers in an array between a given range"
def count_between(array, lower_bound, upper_bound)
count = 0
array.each do |num|
if ((num >= lower_bound) && (num <= upper_bound))
count += 1
end
end
return count
end
@MrBean83
MrBean83 / gist:6093186
Last active December 20, 2015 07:28
Implement FizzBuzz (Super Edition)
def super_fizzbuzz(array)
new_arr = []
array.each do |num|
if ((num % 3 == 0) && (num % 5 == 0))
new_arr << "FizzBuzz"
elsif num % 3 == 0
new_arr << "Fizz"
elsif num % 5 == 0
new_arr << "Buzz"
else
@MrBean83
MrBean83 / gist:6096158
Last active December 20, 2015 07:49
"Print pretty right triangle"
def print_triangle(rows)
1.upto(rows) { |i| puts "*" * i }
end
@MrBean83
MrBean83 / gist:6098950
Created July 28, 2013 15:24
"Reverse Words"
def reverse_words(str)
words = str.split(" ")
rev = words.reverse_each
print rev
end
----------
def reverse_words(str)
words = str.split(" ")
word = words.each.to_s
print word.reverse!
@MrBean83
MrBean83 / gist:6106708
Last active December 20, 2015 09:19
"Calculating the array mode"
def mode(array)
array.group_by do |e|
e
end.values.max_by(&:size).first
end
---------------------------------
def mode(array)
array.inject(Hash.new(0)){ |h,i| h[i] += 1; h }.max{ |a,b| a[1] <=> b[1] }.first
end
---------------------------------
@MrBean83
MrBean83 / gist:6116094
Last active December 20, 2015 10:31
#FibonacciSequence
def is_fibonacci?(i)
n = i * Math.sqrt(5)
n1 = Math.sqrt((5*(i**2)+4))
n2 = Math.sqrt((5*(i**2)-4))
if (i == 1 || i == 0)
return true
elsif (n1 % 1 == 0) || (n2 % 1 == 0)
return true
else
@MrBean83
MrBean83 / gist:6120024
Last active December 20, 2015 10:59
"Print out a times table"
def times_table(rows)
1.upto(rows).each do |line|
1.upto(rows).each do |num|
print "#{line*num} "
end
print "\n"
end
end
@MrBean83
MrBean83 / gist:6129399
Last active December 20, 2015 12:09
"Die Class 2: Arbitrary Symbols"
class Die
attr_accessor :labels
def initialize(labels)
unless labels.length > 0
raise ArgumentError.new("Where's your strings?")
end
@labels = labels
end
@MrBean83
MrBean83 / gist:6157398
Last active December 20, 2015 15:49
"Build a simple guessing game"
class GuessingGame
def initialize(answer)
@answer = answer
end
def guess(guess)
@guess = guess
result = nil
case guess