Menu
Coddy logo textTech

Tekrar - Kişi Listesi

Coddy'nin Ruby Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 11 / 57.

challenge icon

Görev

Orta

Contact sınıfını tamamla. name, email ve phone okunabilir. email= setter'ı adresi küçük harflerle saklar ve @ içermediğinde veya @ sonrasında . bulunmadığında invalid email: x ile birlikte ArgumentError yükseltir. phone= setter'ı yalnızca rakamları tutar ve 7'den az rakam kaldığında invalid phone: x ile birlikte ArgumentError yükseltir. initialize(name, email, phone) her iki setter'ı da kullanır. İki kişinin e-posta adresleri eşitse == ile eşit kabul edilir. to_s, Ada (ada@mail.io, 5551234) döndürür.

Sağlanan kod, kişileri name,email,phone satırları olarak okur. added Ada (ada@mail.io, 5551234) yazdırır; daha önce eklenmiş bir kişiye eşit olan bir kişi için duplicate ada@mail.io yazdırır veya hata mesajını yazdırır ve son olarak contacts: 2 yazdırır.

Kodun contact.rb dosyasına yazılmalıdır. main.rb sağlanan giriş/çıkış kodunu içerir ve düzenlenemez.

Kendin dene

require_relative 'contact'

# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
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}"

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Ruby derleyicisi