Created
March 1, 2019 13:59
-
-
Save mohshbool/6cb5eaaf7c09e86f834b17c641b1b85c to your computer and use it in GitHub Desktop.
Exercise 26 in LearnRubyTheHardway solved
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
module Ex25 | |
# This function will break up words for us. | |
def Ex25.break_words(stuff) | |
return stuff.split(' ') | |
end | |
# Sorts the words. | |
def Ex25.sort_words(words) | |
return words.sort() | |
end | |
# Prints the first word after popping it off. | |
def Ex25.print_first_word(words) | |
puts words[0] | |
words.pop() | |
end | |
# Prints the last word after popping it off. | |
def Ex25.print_last_word(words) | |
puts words[-1] | |
words.pop() | |
end | |
# Takes in a full sentence and returns the sorted words. | |
def Ex25.sort_sentence(sentence) | |
words = Ex25.break_words(sentence) | |
return Ex25.sort_words(words) | |
end | |
# Prints the first and last words of the sentence. | |
def Ex25.print_first_and_last(sentence) | |
words = Ex25.break_words(sentence) | |
Ex25.print_first_word(words) | |
Ex25.print_last_word(words) | |
end | |
# Sorts the words then prints the first and last one. | |
def Ex25.print_first_and_last_sorted(sentence) | |
words = Ex25.sort_sentence(sentence) | |
Ex25.print_first_word(words) | |
Ex25.print_last_word(words) | |
end | |
end | |
puts "Let's practice everything." | |
puts "You'd need to know 'bout escapes with \\ that do \n newlines and \t tabs." | |
poem = <<END | |
\tThe lovely world | |
with logic so firmly planted | |
cannot discern \n the needs of love | |
nor comprehend passion from intuition | |
and requires an explanation | |
\n\t\twhere there is none. | |
END | |
puts "--------------\n" + poem + "--------------\n" | |
puts "This should be five: #{10 - 2 + 3 - 6}" | |
def secret_formula(started) | |
jelly_beans = started * 500 | |
jars = jelly_beans / 1000 | |
crates = jars / 100 | |
return jelly_beans, jars, crates | |
end | |
start_point = 10000 | |
beans, jars, crates = secret_formula(start_point) | |
puts "With a starting point of: #{start_point}" | |
puts "We'd have #{beans} beans, #{jars} jars, and #{crates} crates." | |
start_point = start_point / 10 | |
sentence = "All good things come to those who wait." | |
words = Ex25.break_words(sentence) | |
sorted_words = Ex25.sort_words(words) | |
Ex25.print_first_word(words) | |
Ex25.print_last_word(words) | |
Ex25.print_first_word(sorted_words) | |
Ex25.print_last_word(sorted_words) | |
sorted_words = Ex25.sort_sentence(sentence) | |
Ex25.print_first_and_last(sentence) | |
Ex25.print_first_and_last_sorted(sentence) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment