Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 30 additions & 12 deletions letsdrill.rb
Original file line number Diff line number Diff line change
@@ -1,24 +1,42 @@
def get_letter_grade(integer)

#Put your code here!

if integer >= 90
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if >= isn't sufficient and you need a 'lower bound', you can also use ranges

example:

case integer
when 80..90
  ...
end

'A'
elsif integer < 90 && integer >= 80
'B'
elsif integer < 80 && integer >= 70
'C'
elsif integer < 70 && integer >= 60
'D'
elsif integer < 60
'F'
end
end

def shortest_string(array)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's a few ways in ruby to complete this in a more concise way. try this one again using .min_by.
https://ruby-doc.org/core-2.5.0/Enumerable.html#method-i-min_by


#Put your code here!

if array.empty?
nil
else
shortest_length = array[0].length
shortest_word = array[0]
array.each do |word|
if word.length < shortest_length
shortest_length = word.length
shortest_word = word
end
end
shortest_word
end
end



### Don't touch anything below this line ###

p "Fetch Letter Grade: You should have 2 trues"
p get_letter_grade(89) == "B"
p get_letter_grade(73) == "C"
p get_letter_grade(89) == "B"
p get_letter_grade(73) == "C"
p
p "Shortest String: You should have 3 trues"
p shortest_string(["touch","this", "car"]) == "car"
p shortest_string([]) == nil
p shortest_string(["can", "a", "solve", "Find", "solution"]) == "a"
p shortest_string([]) == nil
p shortest_string(["can", "a", "solve", "Find", "solution"]) == "a"