This exercise is intended to help you assess your progress with the concepts and techniques we've covered during the week.
For these questions, write a short snippet of code that meets
the requirement. Fill in your answers on a second sheet of paper or in your
notebook. In cases where the question mentions a "given"
data value, use the variable given
to refer to it (instead of re-writing
the information).
name = "Joey"
"Turing"[0]
"abcdefghijklmnopqrstuvwxyz"[-1]
splstr = "Welcome to the Dungeon".split
splstr[0]
"supercalifragilisticexpialidocious".length
"Coding is gr8".split.length
"key" + "board"
no_things = []
[1,2,3,4,5]
["dog", "cat", "parrot"][1]
["dog", "cat", "parrot"].length
["Brad", "Jason"]
names = ["Brad", "Jason"]
names.each do |name|
print name # or put or p
end
names << "Jeff"
15. Given the array [1,2,3,4]
, return a new array of only the even numbers. Then an array of only the odd numbers.
numbers = [1,2,3,4]
evens = numbers.find_all do |num|
num.even?
end
[
["Horace", "Module 1"],
["Jeff", "Module 1"],
["Rachel", "Module 2"],
["Steve", "Module 4"]
]
array[0][1]
17. Given the following array, sort the list alphabetically by the names (i.e. the first element of each sub-array)
[
["Horace", "Module 1"],
["Jeff", "Module 1"],
["Rachel", "Module 2"],
["Steve", "Module 4"]
]
array.sort
["pizza", "casserole", "pie"].pop
h = {}
h = { "puppy" => "dog" }
21. Assign the hash from 20 to a variable. Then add to it a new key "kitten" which points to the value "cat"
h = { "puppy" => "dog" }
h << { "kitten" => "cat" }
22. Given the hash from 21, create an array of the strings "puppy" and "kitten" (don't worry about the order)
h.keys
23. Given the hash from 21, create an array of the strings "dog" and "cat" (don't worry about the order)
h.values
24. Given the array ["Jeff", "Horace", "Josh", "Joanne"]
, create a new array containing each name in ALL CAPS
loud = ["Jeff", "Horace", "Josh", "Joanne"].each do |name|
name.upcase
end
25. Given the array ["Jeff", "Horace", "Josh", "Joanne"]
, create a new array containing only the names that are shorter than 5 characters
under_five = ["Jeff", "Horace", "Josh", "Joanne"].find_all do |name|
name.length < 5
end
numbers = [1,2,3,4]
sum = 0
numbers.each do |num|
sum = sum + num
end
27. Given the following list of variable names, circle those that are valid ruby local variable names
TARDIS
noapples
yes@height
yes3_blind_mice
nosoda_or_pop
yes@@x
no$pizza
nobest_teacher
yes
28. Given the string "pizza"
, create an array containing the individual characters, capitalized (i.e. ["P", "I", "Z", "Z", "A"]
)
"pizza.upcase.split
29. Given the array ["Jeff", "Horace", "Josh", "Joanne"]
, create a new array containing only the names that start with "J"
js = ["Jeff", "Horace", "Josh", "Joanne"].find_all do |name|
name[0] = "J"
end
[
["Horace", "Module 1"],
["Jeff", "Module 1"],
["Rachel", "Module 2"],
["Steve", "Module 4"]
]
modtwo = array.find do |teacher_class|
teacher_class[1] = "Module 2"
end
"turing students love sunlight".replace("sunlight", "darkness")
32. Given the string "dogs and cats and parrots"
, replace all instances of the string "and"
with "or"
"dogs and cats and parrots".replace_all("and", "or")
"#{array[0]} and #{array[1]} and #{array[2]}"