мое определение досягаемости предполагает проверку массива, чтобы увидеть, может ли он применить каждый к каждому элементу массива, если нет, то предполагается разделить их, чтобы каждый мог быть применен, иначе предполагается просто распечатать массив ... это действительно мой первый раз, когда я использую ruby, поэтому мне нужна помощь ... мой код такой:
class String
remove_method(:each)
end
class Object
def reach
#checking if responds to each and if so prints it out else
# returns the objects yielded
if(x.respond_to?(:each))
self.each {|x| print x, "\n"}
else
yield(self)
self.each {|x| print x, "\n"}
end
end
#test(remove before submitting)
[4, 13, 18, "fred", "alice"].each { |x| print x, "\n"}
[4, 13, 18, "fred", "alice"].reach {|x| print x, "\n"}
[4, [13, 88], [19, "fred", "snark"], "alice"].each { |x| print x, "\n"}
[4, [13, 88], [19, "fred", "snark"], "alice"].reach { |x| print x, "\n"}
gets #waits for user to hit enter to exit the program
Я думаю, что моя часть else правильна, но моя часть if - это то, с чем я борюсь ... Я написал код, чтобы проверить, отвечает ли он «каждому», и применяет ли он каждый к каждому элементу массив .. иначе выдает себя и затем применяет каждый к каждому элементу массива ...