type_annotations/collection_types.rb
tests/_examples/type_annotations/collection_types.rb in the metorex repository.
numbers = [1, 2, 3, 4, 5] # list
puts "numbers = #{numbers}"
scores = {"Alice" => 90, "Bob" => 85} # dict
puts "scores = #{scores}"
def process_list(items) # list -> int
items.length
end
def get_score(grades, name) # dict, str -> int
grades[name]
end
puts "length of numbers: #{process_list(numbers)}"
puts "Alice's score: #{get_score(scores, "Alice")}"
Output:
numbers = [1, 2, 3, 4, 5]
scores = {"Alice" => 90, "Bob" => 85}
length of numbers: 5
Alice's score: 90