Skip to content

Instantly share code, notes, and snippets.

@ichistmeinname
Created December 18, 2013 10:15
Show Gist options
  • Save ichistmeinname/8020065 to your computer and use it in GitHub Desktop.
Save ichistmeinname/8020065 to your computer and use it in GitHub Desktop.
#nummern = IO.read("contacts.txt");
class Contact
def initialize(name, phone)
@name = name;
@phone = phone;
end;
def to_s()
name = "Name: " + @name;
phone = "PhoneNo: " + @phone.to_s();
return(name + "\n" + phone + "\n");
end;
def name
return @name;
end;
def phoneNumber
return @phone;
end
end
def contactsToArray(filename)
array = [];
contacts = IO.read(filename);
# Benutze () als Gruppierung für späteren Zugriff
searchContact = Regexp.new("([a-zA-Z]*): ([0-9]*), [0-9]*"); # / /
matchPos = contacts =~ searchContact;
while matchPos != nil do
# array = array + [[$1, $2]];
# statt des mehrdimensionalen Arrays verwenden wir eine Objekt der Klasse `Contact`,
# um später den Zugriff auf einzelne Komponente zu vereinfachen
array = array + [Contact.new($1, $2)];
# $1 - erste Gruppierung, $2 - zweite Gruppierung
contacts = $'; # Reststring
matchPos = contacts =~ searchContact;
end;
return array;
end;
contacts = contactsToArray("contacts.txt");
for pos in 0..contacts.size-1
puts(contacts[pos].to_s);
end;
puts("\n");
# Zugriff auf den Namen der ersten Person und die Telefonummer der zweiten Person in der Liste
puts(contacts[0].name + "\n" + contacts[1].phoneNumber);
Frank; 7277, 44
Fabian: 7262, 30
Karl: 6792, 56
Elfriede: 3392, 180
Egon: 12345, 44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment