In this post, we will solve Ruby Control Structures – Unless HackerRank Solution. This problem (Ruby Control Structures – Unless) is a part of HackerRank Ruby series.
Task
You’ve updated the score of every HackerRank user who participated in a contest. Sometimes, HackerRank admins also participate in a given contest but care is taken to ensure that their submissions do not get any score and their score is not updated.
Like the previous challenge, you are given a method scoring
with an array passed as an argument. Each element of the array is of class User
.
User
has two public methods, is_admin?
and update_score
. Your task in this challenge is to use the control structure unless
and update all elements of the array who are not admins
.
Hint
unless user.is_admin?
user.update_score
end
or
user.update_score unless user.is_admin?
The above code is a Ruby one liner.
Explanation
unless
is the logical equivalent of if not
Solution – Ruby Control Structures – Unless
def scoring(array) # update_score of every user in the array unless the user is admin array.each do |user| user.update_score unless user.is_admin? end end
Note: This problem (Ruby Control Structures – Unless) is generated by HackerRank but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.