Arrays |
|
Iteratoren |
Das ist alles sehr nett, aber kann man irgendwas cooles mit Arrays machen? Sicherlich kann man das.
Sie können Arrays mit der Methode Array#sort sortieren.
>> primzahlen = [ 11, 5, 7, 2, 13, 3 ] => [11, 5, 7, 2, 13, 3] >> primzahlen.sort => [2, 3, 5, 7, 11, 13] >> ?> namen = [ "Melissa", "Daniel", "Samantha", "Jeffrey"] => ["Melissa", "Daniel", "Samantha", "Jeffrey"] >> namen.sort => ["Daniel", "Jeffrey", "Melissa", "Samantha"] |
Sie können Arrays umdrehen:
>> namen => ["Melissa", "Daniel", "Samantha", "Jeffrey"] >> namen.reverse => ["Jeffrey", "Samantha", "Daniel", "Melissa"] |
Sie können die Länge eines Arrays herausfinden:
>> namen.length => 4 |
Die Methoden Array#+, Array#-, und Array#* arbeiten so, wie Sie es vom Namen her schon erwarten würden. Es gibt kein Methode Array#/ (wie wollen Sie ein Array dividieren?)
>> namen = [ "Melissa", "Daniel", "Jeff" ] => ["Melissa", "Daniel", "Jeff"] >> namen + [ "Joel" ] => ["Melissa", "Daniel", "Jeff", "Joel"] >> namen - [ "Daniel" ] => ["Melissa", "Jeff"] >> namen * 2 => ["Melissa", "Daniel", "Jeff", "Melissa", "Daniel", "Jeff"] |
Selbstverständlich gibt es auch hier die Abkürzungen +=, -= und *=.
Zum Abschluss: Arrays kann man auch ausgeben.
>> namen => ["Melissa", "Daniel", "Jeff"] >> puts namen Melissa Daniel Jeff => nil |
Entsinnen Sie sich: nil bedeutet, dass puts nichts zurückgegeben hat. Was denken Sie passiert, wenn Sie versuchen, ein Array in eine Zeichenkette mit Array#to_s umzuwandeln?
>> namen => ["Melissa", "Daniel", "Jeff"] >> namen.to_s => "MelissaDanielJeff" >> primzahlen => [11, 5, 7, 2, 13, 3] >> primzahlen.to_s => "11572133" |
Was denken Sie, macht der folgende Code?:
>> addressen = [ [ 285, "Ontario Dr"], [ 17, "Quebec St"], [ 39, "Main St" ] ] >> addressen.sort |
Und das hier:
>> addressen = [ [ 20, "Ontario Dr"], [ 20, "Main St"] ] >> addressen.sort |
Finden Sie es heraus in irb
Arrays |
|
Iteratoren |