This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
MAX_AGE = 120 | |
class OrangeTree | |
def initialize | |
@height_total_inches = 0 | |
@age = 0 | |
@orange_count = 0 | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class NumbersToWords | |
@@words = { 1=> "one", | |
2=>"two", | |
3=>"three", | |
4=>"four", | |
5=>"five", | |
6=>"six", | |
7=>"seven", | |
8=>"eight", |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#binary search | |
def binary_search(item,array,min = 0,max = array.length, half = (min + max) / 2) | |
return min if item == array[min] | |
return -1 if (item < array[0] || item > array[array.length-1]) || (min == max - 1) | |
item < array[half] ? binary_search(item,array,min,half) : binary_search(item,array,half,array.length) | |
end | |
test_array = (1..15).to_a | |
puts binary_search(13,test_array) == 12 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Getting Started,1 | |
#Numbers,9 | |
#Letters,13 | |
#Variables and Assignment,21 | |
#Mixing It Up,25 | |
#More About Methods,33 | |
require 'csv' | |
class TableOfContents |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Benchmark.bmbm do |x| | |
x.report('prime_factors') do | |
100.times { prime_factors(9000) } | |
end | |
x.report('prime_factors_iterative') do | |
100.times { prime_factors_iterative(9000) } | |
end | |
end | |
# user system total real | |
# prime_factors 0.010000 0.000000 0.010000 ( 0.002087) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def prime_factors_iterative(n, f = 2, factors = []) | |
until n == f | |
n % f == 0 ? (factors, n, f = factors.push(f), (n/f), 2) : (f += 1) | |
end | |
return factors.push(f) | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def prime_factors(n, factors = [], f = 2) | |
return factors.push(f) if n == f | |
n % f == 0 ? prime_factors(n / f, factors.push(f)) : prime_factors(n, factors, f + 1) | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Description : Script to Return Remaining Days in the Year | |
# User puts in a date and gets the number of the day (e.g. day 1) and the number of days left in the year | |
class DayOfYear | |
def initialize | |
@days_in_months = [31,28,31,30,31,30,31,31,30,31,30,31] | |
end | |
def date_info(date) | |
return "days number : #{days_elapsed(date.month,date.day,date.year)}, days remaining in year : #{days_remaining(date.month,date.day,date.year)}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'benchmark' | |
@mod_256 = [true, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, true, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, true, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, true, false, false, true, false, false, false, false, true, false, false, false, false, false, false, true, true |