Menu
Coddy logo textTech

סיכום – רשימת אנשי קשר

חלק מהיחידה תכנות מונחה עצמים במסלול ה-Ruby של Coddy. שיעור 11 מתוך 57.

challenge icon

אתגר

בינוני

השלם את המחלקה Contact. אפשר לקרוא את name, את email ואת phone. ה-setter email= שומר את הכתובת באותיות קטנות ומעלה ArgumentError עם invalid email: x כאשר אין בה @ או שאין . אחרי ה-@. ה-setter phone= משאיר רק את הספרות ומעלה ArgumentError עם invalid phone: x כאשר נותרות פחות מ-7 ספרות. initialize(name, email, phone) משתמש בשני ה-setters. שני אנשי קשר נחשבים שווים באמצעות == כאשר כתובות האימייל שלהם זהות. to_s מחזירה Ada (ada@mail.io, 5551234).

הקוד שסופק קורא אנשי קשר בשורות בפורמט name,email,phone. הוא מדפיס added Ada (ada@mail.io, 5551234), את duplicate ada@mail.io עבור איש קשר השווה לאיש קשר שכבר נוסף, או את הודעת השגיאה, ולבסוף את contacts: 2.

יש לכתוב את הקוד שלך ב-contact.rb. הקובץ main.rb מכיל את קוד הקלט/פלט שסופק ואי אפשר לערוך אותו.

נסו בעצמכם

require_relative 'contact'

# קוד הקלט/פלט שסופק: יש להשאיר אותו כפי שהוא
input = []
while (line = gets)
  input << line.chomp
end
contacts = []
input.each do |line|
  name, email, phone = line.split(",")
  begin
    contact = Contact.new(name, email, phone)
    if contacts.include?(contact)
      puts "duplicate #{contact.email}"
    else
      contacts << contact
      puts "added #{contact}"
    end
  rescue ArgumentError => e
    puts e.message
  end
end
puts "contacts: #{contacts.size}"

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר Ruby אונליין