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
|