· 1 min read

Script-Tip: Arrays

Als erstes ein Beispiel wie man die Elemente nach zufälliger Reichenfolge mischen kann:

[ruby] [1,2,3,4,5,6,7,8,9].shuffle # => [3, 2, 5, 7, 4, 6, 1, 9, 8]

# Bitte beachtet, dass dies erst ab Ruby Version 1.8.7 unterstützt wird. # Falls ihr noch mit einer älteren Version arbeitet/arbeiten müsst, # könnt ihr auch auf andere Weise eure Arrays “mischen”

[1,2,3,4,5,6,7,8,9].sort_by{ rand } # => [4, 7, 9, 6, 1, 5, 3, 8, 2] [/ruby]

Nun ein Beispiel wie ihr den größten/kleinsten Wert in einem Array inclusive dem Index herausfinden könnt:

[ruby] # Ruby bringt bereits alles mit um die gesuchten Werte # zu ermitteln: min und max

# Den größten Wert incl. Index finden… [7,5,10,9,6,8].each_with_index.max # => [10, 2]

# Den kleinsten Wert incl. Index finden… [7,5,10,9,6,8].each_with_index.min # => [5, 1] [/ruby]

Als letzter Arry-Script-Tip noch ein paar Beispiele um den Durchschnittswert eines gesamten Arrays herauszufinden:

[ruby] arr = [9,8,5,2,8,7] arr.inject(:+).to_f / arr.size # => 6.5

# oder arr.instance_eval{inject(&:+).to_f / length}

# oder arr.inject{ |r, x| r + x }.to_f / arr.size

# oder arr.inject(0.0){ |r, x| r + x } / arr.size

# oder class Array def gesamt inject(0.0) { |erg, el| erg + el } end

def durchschnitt gesamt / size end end

arr.durchschnitt [/ruby]

Back to Blog