Enumerables Quiz

What does [1, 2, 3, 4].all? {|int| int.even?} return?

true false 2 [1, 4, 9, 16] All of the receiver's elements are not even. Therefore the return value is false.

What does [1, 2, 3, 4].none? {|int| int.even?} return?

true false 2 [1, 4, 9, 16] Some of receiver's elements are even. Therefore the return value is false.

What does [1, 2, 3, 4].any? {|int| int.even?} return?

true false 2 [1, 4, 9, 16] At least one of the receiver's elements is even. Therefore the return value is true.

What does [1, 2, 3, 4].map {|int| int ** 2} return?

true false 2 [1, 4, 9, 16] Here map returns a new array with each of the elements in the receiver squared.

What does [1, 2, 3, 4].count {|int| int.even?} return?

true false 2 [1, 4, 9, 16] Two elements in the receiver (2 and 4) return truthy values when passed to the block. The return value is therefore 2.
innocent_idiom = ["We", "were", "as", "Danes", "in", "Denmark", "all", "day", "long"]

how_long_am_i = innocent_idiom.select {|word| word.length < 3} + innocent_idiom.reject {|word| word.length < 3}

What is the number of elements in how_long_am_i?

9 6 3 0 select and reject are complementary. select returns all the elements in its receiver for which the given block returns a truthy value, and reject returns all those that result in a falsey value. Concatenating the results of invoking both with the same block on the same receiver therefore produces exactly all the elements in that receiver: no more no less.
def num_vowels(word)
  vowels = ["a", "e", "i", "o", "u"]
  word.chars.count {|ch| vowels.include?(ch.downcase)}
end

def order_by_num_vowels(str)
  words = str.split
  words.sort_by {|word| num_vowels(word)}
end

What is the return_value of order_by_num_vowels("Miracle bird or golden handiwork")?

10 ["handiwork"] ["bird", "or", "golden", "Miracle", "handiwork"] ["handiwork", "Miracle", "golden", "or", "bird"] order_by_num_vowels sorts the words of a given string by the number of vowels in each and returns the resulting array. The correct answer is therefore ["bird", "or", "golden", "Miracle", "handiwork"].
spheres = ["Moon", "Mercury", "Venus", "Sun", "Mars", "Jupiter",
           "Saturn", "Fixed Stars", "Primum Mobile"]

numbers_and_spheres = []

spheres.each_with_index do |circle, idx|
  numbers_and_spheres << "#{idx + 1}: #{circle}"
end

What is the value of numbers_and_spheres at the end of the above code snippet?

["Moon", "Mercury", "Venus", "Sun", "Mars", "Jupiter", "Saturn", "Fixed Stars", "Primum Mobile"] ["1: Moon", "2: Mercury", "3: Venus", "4: Sun", "5: Mars", "6: Jupiter", "7: Saturn", "8: Fixed Stars", "9: Primum Mobile"] ["0: Moon", "1: Mercury", "2: Venus", "3: Sun", "4: Mars", "5: Jupiter", "6: Saturn", "7: Fixed Stars", "8: Primum Mobile"] [0, 1, 2, 3, 4, 5, 6, 7, 8] The above code snippet uses the each_with_index enumerable to populate numbers_and_spheres with strings containing indices incremented by one and the names of the Spheres of Heaven in Dante's Paradiso.

results matching ""

    No results matching ""